是不是你有多个配置文件中多次引用了spring的配置文件?如果是这样的话当然要构造多次。

解决方案 »

  1.   

    我之前也出现过重复加载,是application.xml被加载了两次,后来发现原因是tomcat中将应用设为缺省,而应用又是放在webapp下导致的重复加载,把应用移个目录就OK了。
      

  2.   

    又重新试了下,发现在Eclipse里启动tomcat的话,UserManagerService被构造了四次,如果手动部署到tomcat,独立启动tomcat, UserManagerService被构造了2次.我在service层,dao层,struts层的构造函数都加了日志,在独立启动tomcat的情况下,
    service层的bean被构造了2次,
    dao层和struts层的bean被构造1次.
      

  3.   

    发现为啥了.  service层的函数用了autowire来配置统一的声明式事务管理,如果把事务拦截器的配置给去掉. UserMangeService则只被构造1次
      

  4.   

    在struts-config.xml中定义的ContextLoaderPlugIn应只载入struts action bean的spring配置文件。在web.xml中的ContextLoaderServlet则载入其它的spring配置文件