Spring动态注册bean

起因:在使用mybatis 3.2的时候使用了注解式sql;虽然用起来方便 但是这样的bean却不能通过注解来声明,如下图:

需要通过MapperFactoryBean来注册bean;

如果能定义一个注解完成这个bean的注册,那就方便很多了。。

1.定义注解Mapper:


mapper没有定义其他属性,这边用类名首字母小写来作为bean名称;如果想通过注解指定可以修改;

2.定义一个bean动态注册mapper,传入扫描范围参数

这边需要定义一个bean在spring注册注解声明的bean之前 来动态完成mapper的注册(如果先注册了注解声明的bean则会报错 无法autowire)那只需要在applicationcontext.xml注册一个bean来完成动态注册就可以了;因为xml的bean会在注解声明的bean之前完成注册;


这边通过spring的PathMatchingResourcePatternResolver来完成类的扫描,读取注解,注册bean

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,374评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,054评论 6 342
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 9,716评论 2 7
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,644评论 1 133
  • 刚才老师的一句话“你还活着吗?你是否真正的活过?”让我有些触动,曾经的自己像一只迷失的羔羊,在旷野里乱跑,没有人生...
    刘娜_3e09阅读 2,865评论 2 3