目前我的弹簧配置在一个 xml 文件中(传统方式)。
我喜欢的一件事是在部署期间我可以部署具有我的生产设置的不同版本,或者说在测试环境中我可以在那里进行测试设置。
我喜欢在一个类中配置东西的想法,但这会被编译到我的战争中,然后它就不会那么灵活了。
有没有解决的办法?
目前我的弹簧配置在一个 xml 文件中(传统方式)。
我喜欢的一件事是在部署期间我可以部署具有我的生产设置的不同版本,或者说在测试环境中我可以在那里进行测试设置。
我喜欢在一个类中配置东西的想法,但这会被编译到我的战争中,然后它就不会那么灵活了。
有没有解决的办法?
Java 配置很棒,它有几个优点:
重构友好
类型安全
更加灵活(您可以编写任何 Java 代码,不受 XML 语义和功能的约束)。
我可以部署具有我的生产设置的不同版本,或者说在测试环境中我可以在那里进行测试设置。
调查Spring @Profile
s。它们与您的问题正交(适用于 XML 和@Configuration
),但最适合您的情况。
这是唯一可用的两种方式。如果您不想在代码中烘焙配置,那么您必须使用 xml。
spring 参考手册包括一个关于结合 Java 和 XML 配置的部分。见http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-java-combining
如果您更倾向于以 XML 为中心,您可以使用 XML 引导您的应用程序,然后根据需要以特别的方式引入 Java 配置。这可能是缓和它的好方法。您可能决定一直使用 Java 配置。