有没有一个很好的理由让Spring Roo将database.properties放入META-INF/spring?

ift*_*itz 3 java spring spring-roo

我试图理解为什么Spring Roo将database.properties放在META-INF/spring中的原因,它将作为WAR的一部分进行部署.

当然数据库属性是特定于环境的,应该在WAR之外,可以在不重建的情况下更改它们吗?我即将更改application-context.xml中的行以在类路径的任何位置搜索属性文件,并将文件移动到不与WAR打包的位置.

有什么东西我没有到这里会让我后悔吗?

Dav*_*ker 5

我使用Spring的PropertyPlaceholderConfigurer处理了这个问题,包括类路径上的属性文件和文件系统上的属性文件:

<context:property-placeholder 
    location="classpath*:META-INF/spring/*.properties,file:myapp*.properties"/>
Run Code Online (Sandbox Code Playgroud)

如果应用程序启动时(或运行测试等)当前目录中存在myapp*.properties文件,它将覆盖war/ear/whatever中烘焙的文件的属性.你可以取出明星但是你必须让文件存在.