获取bean工厂简略代码
private static ApplicationContext overrideApplicationContext;
public static void main(String[]args)
{
ApplicationContext context;
if (overrideApplicationContext != null)
{
context = overrideApplicationContext;
} else
{
BeanFactoryLocator bfl = ContextSingletonBeanFactoryLocator.getInstance();
BeanFactoryReference bf = bfl.useBeanFactory("OBJ_REGISTRY");
context = (ApplicationContext)bf.getFactory();
Dao dao =(Dao) context.getBean("dao",Dao.class);//这里找不到bean了
}
}
spring 的引用文件beanRefContext.xml加载ok.
<beans>
<bean id="OBJ_REGISTRY" class="org.springframework.context.support.ClassPathXmlApplicationContext" lazy-init="false">
<constructor-arg>
<list>
<value>classpath*:/spring/applicationContext.xml</value>
<value>classpath*:/spring/jmsContext.xml</value>
<value>classpath*:/spring/dataAccessContext.xml</value>
<value>classpath*:/spring/serviceContext.xml</value>
<value>classpath*:/spring/actionContext.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
运行之后就找不到
<value>classpath*:/spring/dataAccessContext.xml</value>这个文件里的bean了
Dao dao =(Dao) context.getBean("dao",Dao.class);//这里找不到bean了
private static ApplicationContext overrideApplicationContext;
public static void main(String[]args)
{
ApplicationContext context;
if (overrideApplicationContext != null)
{
context = overrideApplicationContext;
} else
{
BeanFactoryLocator bfl = ContextSingletonBeanFactoryLocator.getInstance();
BeanFactoryReference bf = bfl.useBeanFactory("OBJ_REGISTRY");
context = (ApplicationContext)bf.getFactory();
Dao dao =(Dao) context.getBean("dao",Dao.class);//这里找不到bean了
}
}
spring 的引用文件beanRefContext.xml加载ok.
<beans>
<bean id="OBJ_REGISTRY" class="org.springframework.context.support.ClassPathXmlApplicationContext" lazy-init="false">
<constructor-arg>
<list>
<value>classpath*:/spring/applicationContext.xml</value>
<value>classpath*:/spring/jmsContext.xml</value>
<value>classpath*:/spring/dataAccessContext.xml</value>
<value>classpath*:/spring/serviceContext.xml</value>
<value>classpath*:/spring/actionContext.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
运行之后就找不到
<value>classpath*:/spring/dataAccessContext.xml</value>这个文件里的bean了
Dao dao =(Dao) context.getBean("dao",Dao.class);//这里找不到bean了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货