Cet article résume les annotations couramment utilisées par Spring pour faciliter l'interrogation et l'utilisation de chacun, comme suit :
Avant d'utiliser les annotations, activez la fonction de numérisation automatique
Parmi eux, le package de base est le package (y compris les sous-packages) qui doit être analysé.
<context:component-scan base-package="cn.test"/>
@Configuration traite une classe comme un conteneur IoC. Si @Bean est enregistré sur l'un de ses en-têtes de méthode, il sera utilisé comme Bean dans le conteneur Spring.
Portée des annotations @Scope
@Lazy(true) indique une initialisation paresseuse
@Service est utilisé pour annoter les composants de la couche métier,
@Controller est utilisé pour annoter les composants de la couche de contrôle (tels que l'action dans les entretoises)
@Repository est utilisé pour annoter les composants d'accès aux données, à savoir les composants DAO.
@Component fait généralement référence à des composants lorsque les composants sont difficiles à classer, nous pouvons utiliser cette annotation pour les annoter.
@Scope est utilisé pour spécifier la portée (utilisé sur les classes)
@PostConstruct est utilisé pour spécifier la méthode d'initialisation (utilisée sur les méthodes)
@PreDestory est utilisé pour spécifier la méthode de destruction (utilisée sur les méthodes)
@DependsOn : définir l'ordre d'initialisation et de destruction du Bean
@Primary : lorsque plusieurs candidats Bean apparaissent lors de l'assemblage automatique, le Bean annoté avec @Primary sera le premier choix, sinon une exception sera levée.
@Autowired est assemblé par type par défaut. Si nous souhaitons utiliser l'assembly par nom, nous pouvons l'utiliser en conjonction avec l'annotation @Qualifier. comme suit:
@Autowired @Qualifier("personDaoBean") existe avec plusieurs instances utilisées ensemble
@Resource est assemblé par nom par défaut Lorsqu'un bean correspondant au nom est introuvable, il sera assemblé par type.
@PostConstruct annotation d'initialisation
@PreDestroy détruit l'annotation et la charge lorsque le singleton est démarré par défaut.
Appel de méthode asynchrone @Async, vous devez ajouter le code suivant :
<bean id="taskExecutor"><property name="corePoolSize" value="10"/><property name="maxPoolSize" value="300"/></bean><task:annotation-driven/>
J'espère que cet article pourra être utile à tout le monde.