java – Spring 3.1中的默认配置文件

在我的应用程序中,我有使用@Profile(“prod”)和@Profile(“demo”)注释的bean。
第一个,你可以猜到:),用于连接到生产数据库的bean,第二个注释使用一些假的数据库(HashMap或任何)的bean – 使开发更快。

我想要的是默认配置文件(“prod”),如果它不被“something-else”覆盖,将始终使用。

完美将是在我的web.xml:

<context-param>
     <param-name>spring.profiles.active</param-name>
     <param-value>prod</param-value>
</context-param>

然后用-Dspring.profiles.active =“demo”覆盖这个,这样我就可以:

mvn jetty:run -Dspring.profiles.active="demo". 

但可悲的是,这不工作。任何想法如何我achive这?在所有环境中设置-Dspring.profiles.active =“prod”不是一个选项。

最佳答案
我的经验是使用

@Profile("default")

那么只有在没有标识其他配置文件的情况下,bean才会添加到上下文中。如果您传入其他个人资料,例如-Dspring.profiles.active =“demo”,则忽略此配置文件。

转载注明原文:java – Spring 3.1中的默认配置文件 - 代码日志