【发布时间】:2018-07-04 08:35:39
【问题描述】:
我有一个对象,我想将其转换为弹簧单例,其中包含我想在初始化后注入的属性。该属性不能作为 bean 启动,我希望从代码中检索它。
public class BigObject{
private SmallObject prop;
}
我添加了以下 bean:
<bean id="BigObject" class="com.cisco.cpm.lsd.SessionPublisher"
scope="singleton" init-method="init" destroy-method="destroy" lazy-init="true">
</bean>
是否有初始化prop 的最佳实践方法?
我知道这可以通过属性工厂方法来完成
<property name="prop">
<bean factory-bean="SmallObjectFactory" factory-method="getSmallObject"></bean>
</property>
但这需要我为该属性初始化添加一个新对象。有更好的解决方案吗?
【问题讨论】:
-
如果
BigObject是一个spring单例,那么你可以使用@PostConstruct注解来初始化它的属性。你可以查看这篇文章; mkyong.com/spring/spring-postconstruct-and-predestroy-example
标签: java spring dependency-injection