在spring运行时,动态的添加Bean,Dapeng-SOA 框架在解析xml的 soa:service 字段时, 使用到了动态注册,注册了一个实现了FactoryBean
类!
定义一个没有被Spring管理的Controller
1 | public class UserController implements InitializingBean{ |
需要注意的是,如果要注入UserService,需要提供它的getter和setter方法
现在启动springboot工程,显而易见这个类是不会被Spring管理的,接下来我们定义一个获取Spring上下文的工具类,如下
工具类
1 | public class SpringContextUtil { |
我们在Springboot的启动类中,保存当前Spring上下文,代码如下:
1 |
|
然后我们在另一个被Spring管理的容器中,写如下方法,进行bean的动态注册
1 |
|
总结
按照上文方式,便可以在Spring运行期间动态的注册 bean。Spring框架还有很多其他方式动态注册Bean,这里不再赘述。
原文链接: https://hzways.gitee.io/p/f24324d7.html
版权声明: 转载请注明出处.