spring 注解作用与解析过程

2023-05-16

  1. @PostConstruct
    作用:初始化方法之前执行,作用于方法, 无方法上修饰符限制。
    解析过程:CommonAnnotationBeanPostProcessor(BeanFactoryAware子类)解析,核心方法, InitDestroyAnnotationBeanPostProcessor下buildLifecycleMetadata方法中
    method.isAnnotationPresent(this.initAnnotationType) @PostConstruct
    method.isAnnotationPresent(this.destroyAnnotationType) @PreDestroy

  2. @PreDestroy
    作用:容器销毁之前执行,作用于方法, 无方法上修饰符限制。
    解析过程:同@PostConstruct

  3. @Autowired/ @Value
    作用:属性注入
    解析过程:AutowiredAnnotationBeanPostProcessor#AutowiredFieldElement#inject 负责解析,
    由源码可以看出是先byTyep, 如果有相同类型的再byName
    https://blog.csdn.net/weixin_40698359/article/details/86065031

  4. @Conditional
    作用:按条件注入bean,ElementType.TYPE, ElementType.METHOD
    解析过程:引导至ConditionEvaluator#shouldSkip方法判断
    用法参考

  5. @ConditionalOnBean/@ConditionalOnMissingBean
    作用:有bean的时候加载
    用法参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring 注解作用与解析过程 的相关文章

随机推荐