如果有一个bean使用init方法:
<bean id="myBean" class="com.test.MyBean" scope="prototype" init-method="init">
init-method:
public void init(MyBeanHolder holder) {
this.myBean = holder.getMyBean();
}
问题是init
方法没有自动装配bean。所以问题是如何将init
与注入的依赖项一起使用?
答案 0 :(得分:1)
在注入所有属性后调用init-method
(或@PostConstruct
)。 - 所以只需像其他所有依赖项一样注入MyBeanHolder holder
,然后通过init
this.holder
方法中使用它们
答案 1 :(得分:0)
尝试以下方法:
@Autowired
private MyBeanHolder holder;
public void init() {
this.myBean = holder.getMyBean();
}
注入init
后将调用MyBeanHolder
方法。