我爱编程

Spring动态注册bean

2018-04-12  本文已影响87人  hybzzz

起因:在使用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

上一篇下一篇

猜你喜欢

热点阅读