我的 servlet.xml 文件包含所有与 spring 配置相关的信息,例如数据源 bean 等。
<bean id="..." class="...">
</bean>
现在我的应用程序有其他设置需要保存在配置文件中,是否可以在此处创建我自己的设置或者是否有更好的方法?
我想要一些加载一次并且可以在我的项目中快速引用的东西。
我需要它来存储一些文件路径以及 mongodb 等的其他数据库设置。
最佳答案
您可以使用.properties
文件:
<context:property-placeholder location="file:///my/cfg.properties"/>
如果文件内容是:
driver=com.mysql.jdbc.Driver
dbname=mysql:mydb
mysetting=42
您可以像这样在 Spring XML 中引用它们:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${driver}</value></property>
<property name="url"><value>jdbc:${dbname}</value></property>
</bean>
引用:4.8.2.1 Example: the PropertyPlaceholderConfigurer
.
您还可以将这些属性注入(inject)到您自己的类中:
@Service
public class MyService {
@Value("${mysetting}")
private int mysetting; //Spring will inject '42' on bean creation
//...
}
当然,如果您更喜欢 XML,您也可以使用 setter 注入(inject),就像示例中的 DriverManagerDataSource
一样。
关于java - 扩展 spring 的配置以保存自定义 xml 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547599/