在我的Griffon项目中我需要从不同来源(包括一个jar)加载几个bean,并且在玩了一点之后我意识到bean是以懒惰模式创建的,到目前为止没有任何问题。
问题是,一旦你真的需要它们就不会创建其中的一些bean,因此代码会崩溃。
示例:
共project.jar - >共beans.xml文件:
<bean id="oneThing">...
...
<bean id="bigThing" class="...">
<property name="myOneThing"><ref bean="oneThing"/> </property>
</bean>
客户项目 - &GT; resources.groovy:
beans{
importBeans("classpath*:common-beans.xml")
myClientBean(some.Class){
clientBigThing=ref("bigThing")
}
}
someController.groovy:
assert myClientBean.bigThing.myOneThing--> FALSE
此时我继续通过以下方式创建自己的上下文:
this.applicationContext = new ClassPathXmlApplicationContext(["common-beans.xml","other-beans.xml",...]as String[])
但显然这不是正确的方法。有任何想法吗? 有没有办法做“default-lazy-init = false”并强制在级联中为导入的bean应用它?
提前致谢。 伊凡。