是否有可能避免@Autowire一些bean,直到其他depeandant bean被创建?让我用一个例子更好地解释它:@Autowired和bean创建顺序
我有一个创建类型一个有一个名为一个属性的对象一个FactoryBean。如果该属性为空,则为该豆分配默认值A。
在@Configuration I类有:
@Autowired private A myBean;
正在发生的事情是,工厂创建bean(我不完全了解),但场在工厂是零和我需要它需要另一个豆,它用于创建A。由于它在外部依赖关系中,因此我无法向Factory添加任何注释。
事情是,我需要在@Autowired请求对象到工厂之前设置值a。有没有可能给我的限制?
编辑 继承人的代码:
@Configuration
@ImportResource("classpath:factory-context.xml")
public class ServiceContextConfig {
@Autowired
private A createdObject;
@Bean(name = "entities-list")
public List<String> getEntity() {
List<String> ls = new ArrayList<String>();
ls.add("countriescatalog");
return ls;
}
然后工厂的context.xml看起来是这样的:
<bean id="client-factory" class="ClientFactory">
<property name="entities" ref="entities-list"/>
</bean>
其实配置是有点大。我没有尝试用这样的简单例子。我会尝试重现它与这样一个简单的上下文,看看我是否可以修复它包装工厂作为@emd建议
请显示您的工厂如何创建您的bean,例如。 ''声明 –
2013-03-21 21:26:39