Mon projet fournit un nombre (un nuuuuumbeeeeer) de classes de base que les développeurs peuvent étendre à leur confort et doivent déclarer en tant que beans Spring en configuration XML.Comment auto-vérifier la portée du haricot de printemps?
Je suis déjà au courant que config d'annotation est héritée de la classe de base, mais nous utilisons principalement XML
@SpringAnnotation
public abstract class Parent{}
//Will apply any @SpringAnnotation
public class Child{}
Ce que je veux faire est un auto-contrôle dans la classe de base. Si un développeur oublie de définir la portée d'un bean sur la valeur documentée (par exemple, "request", pour l'exemple actuel), j'aimerais que le bean hérité lève une exception rappelant au développeur de changer la portée.
E.g.
public void afterPropertiesSet()
{
if (!thisBean.getScope().equals("request"))
throw new BeansException("Sorry but this bean works only when it is a request bean");
}
J'ai vu que le printemps ne définit aucun type de BeanDefinitionAware
qui pourrait injecter propre définition du haricot (ainsi que la portée et beaucoup de choses) dans la fève elle-même.
Une idée? Je peux venir avec une solution self-made bientôt.
C'est cool. Je pourrais analyser les haricots pour les classes qui étendent ma classe de base. Je pensais aussi à implémenter (via 'BeanPostProcessor') mon propre' BeanDefinitionAware'. En effet, il semble y avoir plusieurs façons –