-
@PostConstruct
作用:初始化方法之前执行,作用于方法, 无方法上修饰符限制。
解析过程:CommonAnnotationBeanPostProcessor(BeanFactoryAware子类)解析,核心方法, InitDestroyAnnotationBeanPostProcessor下buildLifecycleMetadata方法中
method.isAnnotationPresent(this.initAnnotationType) @PostConstruct
method.isAnnotationPresent(this.destroyAnnotationType) @PreDestroy
-
@PreDestroy
作用:容器销毁之前执行,作用于方法, 无方法上修饰符限制。
解析过程:同@PostConstruct
-
@Autowired/ @Value
作用:属性注入
解析过程:AutowiredAnnotationBeanPostProcessor#AutowiredFieldElement#inject 负责解析,
由源码可以看出是先byTyep, 如果有相同类型的再byName
https://blog.csdn.net/weixin_40698359/article/details/86065031
-
@Conditional
作用:按条件注入bean,ElementType.TYPE, ElementType.METHOD
解析过程:引导至ConditionEvaluator#shouldSkip方法判断
用法参考
-
@ConditionalOnBean/@ConditionalOnMissingBean
作用:有bean的时候加载
用法参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)