有什么开源框架组件在和spring整合的时候,使用了spring的Bean初始化过程提供的一下扩展特性的?

发布于 2022-09-13 00:17:46 字数 657 浏览 20 评论 0

如题,有什么开源框架组件在和spring整合的时候,使用了spring的Bean初始化过程提供的一下扩展特性,或者说使用了spring的aop等特性的?

  • Spring的Bean初始化过程,提供了很多的扩展特性,比如:Aware接口(BeanNameAware、ApplicationContextAware、BeanFactoryAware等接口),BeanFactoryPostProcessor接口(postProcessBeforeInitialization方法,postProcessAfterInitialization方法),InitializingBean接口(afterPropertiesSet方法),DisposableBean接口(destory方法),FactoryBean接口等扩展点。
  • 比如:mybatis和Spring的整合组件mybatis-spring中的SqlSessionFactoryBean,就应用了FactoryBean扩展点。大家有知道更多类似的组件使用了spring bean的哪些扩展点么?想找多一些开源项目来加深对spring bean初始化过程的理解。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

撩人痒 2022-09-20 00:17:46

你都说到了mybatis,那mybatis这边都不少东西了;
比较常见的
1:包扫描,mybatis自己实现了一个mapper扫描的功能,入口是MapperScannerConfigurer
2:mapper代理:MapperFactoryBean
3:BeanPostProcessor接口,这个接口的功能太多了,像@Autowrite自动注入的实现AutowiredAnnotationBeanPostProcessor,@PostConstruct的实现CommonAnnotationBeanPostProcessor
4:像mvc的入口,dispatchserServlet也实现了ApplicationContextAware接口

如果需要看启动过程做了啥,最好按照模块来,一个个的看,一把梭哈肯定是不行的

ps:Aware接口的回调,大部分也是走的BeanPostProcessor,实现类ApplicationContextAwareProcessor

我喜欢麦丽素 2022-09-20 00:17:46

随便一个接口的实现类都能多到怀疑人生。重点还是关注接口的作用的吧。spring的主要扩展接口虽然不多,但二级接口也是挺多了,然后关注一下框架内部的实现类。至于各个其他框架的实现类,那肯定是千变万化,永远都有新花样。

他夏了夏天 2022-09-20 00:17:46

可以看看feign的源码,从@EnableFeignClients的@Import注解开始看,有使用各种aware processor factoryBean和ImportBeanDefinitionRegistrar等来做到动态扫描类注册bean什么的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文