Spring + Hibernate + Spring Security配置

时间:2011-12-19 20:33:55

标签: hibernate spring java-ee spring-security

我有应用程序,它使用Spring,Hibernate和Spring Security。我的目标是为每个框架创建一个配置(.xml)文件,并仅加载一次。所以我基本上希望spring-config.xmlhibernate-config.xmlspring-security.xmlweb.xml作为配置文件。它现在可以随心所欲地工作,但是,因为我查看部署日志,显然有重复的条目 - 加载了多次的bean。

web.xml - http://pastebin.com/7ELvV8fS

spring-config.xml - http://pastebin.com/FVTcNu7L

hibernate-config.xml - http://pastebin.com/xXWbgAex

spring-security.xml - http://pastebin.com/JUycGUNA

GlassFish 3.1部署输出 - http://pastebin.com/53Bgyj2r

正如您在输出中看到的那样,很少有spring-config.xml被启动。此外,spring-config.xml中的自定义bean启动了两次。

1 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为您正在通过

在Spring-security中再次加载spring-config
    <beans:import resource="/hibernate-config.xml"/>
    <beans:import resource="/spring-config.xml"/>

您可以尝试删除它。通过下面的配置,您无需为spring-security指定单独的上下文参数。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:spring/spring-security.xml,
        classpath:spring/spring-config.xml
    </param-value>       
</context-param>