日期:2014-05-20  浏览次数:20853 次

如何加载spring的问题,请高手帮助
在一个方法中我想加载spring是applicationContext.getBean(beanName);这么加载的对吧
如果我不用这种getBean的方法有其他办法么?
问题是这样的,我在一个web应用中起应用的时候web.xml会加载springBean.xml
那么这个springBean.xml有如下代码
<bean id="server" class="XXXXX">
<property name="service" ref="service"></property>
</bean>
<bean id="service" class="XXXXX"></bean>

然后我用main方法执行这个server类的时候service对象是空的
只有在server类中用getBean('service')才能把service对象加载上来,就不能说自动加载么?
请高手指点

------解决方案--------------------
ApplicationContext ac = new ClassPathXmlApplicationContext("your_springBean.xml");
然后 Service s = (Service)ac.getBean("Service");
回答完毕
上边的类名可能不正确,单词记不太清楚了,其实多看看源代码,看看为什么起WEB服务的时候可以自动加载,很有帮助的,加油
------解决方案--------------------
楼主你说执行main()方法,在执行main()方法之前Spring是没有初始化的,也就是说你配置的那些bean没有被初始化,如果你想在调用main()方法时候用上Spring的话,就要加上这一句话:

Java code

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

------解决方案--------------------
探讨

楼主你说执行main()方法,在执行main()方法之前Spring是没有初始化的,也就是说你配置的那些bean没有被初始化,如果你想在调用main()方法时候用上Spring的话,就要加上这一句话:

Java code

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicatio……

------解决方案--------------------
探讨

引用:

楼主你说执行main()方法,在执行main()方法之前Spring是没有初始化的,也就是说你配置的那些bean没有被初始化,如果你想在调用main()方法时候用上Spring的话,就要加上这一句话:

Java code

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplic……

------解决方案--------------------
这个能获取到吗?通过webservice获取通过spring配置的bean,我没试过哦。

如果楼主真的想这么做的话为什么不用EJB呢?那里面的bean是共享的啊……
------解决方案--------------------
探讨

ApplicationContext ac = new ClassPathXmlApplicationContext("your_springBean.xml");
然后 Service s = (Service)ac.getBean("Service");
回答完毕
上边的类名可能不正确,单词记不太清楚了,其实多看看源代码,看看为什么起WEB服务的时候可以自动加载,很有帮助的,加油

------解决方案--------------------
ApplicationContext ac = new ClassPathXmlApplicationContext("your_springBean.xml");
然后 Service s = (Service)ac.getBean("Service");
回答完毕
上面的这种说法可以但spring不推荐这样做,在spring框架中ApplicationContext的实现有三个分别是:
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
XmlWebApplicationContext
这三个使用范围我就不多说了,一句话也说不清因为spring不只为web而生。但对于Web应用来说要用XmlWebApplicationContext才对,这样会就会自动加载了。
------解决方案--------------------
你确定两个<bean>的ID 相同?
------解决方案--------------------
WebService肯定没有办法调用的 除非发布成JNDI EJB的形式
------解决方案--------------------
接分,接分