Spring 中手动注入 @Autowired 字段

自己 new 出来的对象如何让 Spring 帮我们注入其中依赖的对象?可以使用以下方法:

1
2
3
4
Bean bean = new Bean();
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory();
factory.autowireBean( bean );
factory.initializeBean( bean, "bean" );

下面这行会注入所有的 @Autowired 注解的字段。

1
factory.autowireBean( bean );

而下面这行会调用所有的 BeanPostProcessor 进行处理。

1
factory.initializeBean( bean, "bean" );
参考
  1. [How do I manually autowire a bean with Spring?]: https://stackoverflow.com/questions/11965600/how-do-i-manually-autowire-a-bean-with-spring
作者

Jakes Lee

发布于

2020-05-10

更新于

2021-11-18

许可协议

评论