现在的位置: 首页 > 综合 > 正文

用springaction不创建

2013年01月12日 ⁄ 综合 ⁄ 共 730字 ⁄ 字号 评论关闭

这个是今天偶然发现的,我开始执行了一个

public static void main(String[] args) {
  ApplicationContext act = new ClassPathXmlApplicationContext("beans.xml");
  Instal instal = (Instal) act.getBean("instal");
  
 
  instal.doThis();
  
 }

然后输入网址执行action,发现action不创建了,后来发现如果不执行上面那个函数就一切正常,后来我发现 ApplicationContext act = new ClassPathXmlApplicationContext("beans.xml");语句造成的,他创建了一个新的spring容器,而action放在的是另一个spring容器里,所以action就不创建了。

用这个

ServletContext application = arg0.getServletContext();
   WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(application);
   PrivilegeService privilegeService = (PrivilegeService) webApplicationContext.getBean("privilegeServiceImpl");
可以不创建新spring容器,用原来的,但是我还没找到可以直接执行.java(run as java 不用tomcat)的类能用原spring容器的

抱歉!评论已关闭.