我的servlet.xml文件包含我的所有Spring配置相关信息,如datasource bean等。
<bean id="..." class="...">
</bean>
现在我的应用程序有其他设置需要保存在配置文件中,是否可以在此处创建我自己的设置或者有更好的方法吗?
我想要的东西加载一次,并且在我的项目中很快引用。
我需要这个来存储一些文件路径,以及mongodb等的其他数据库设置。
答案 0 :(得分:2)
您可以使用.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
。
您也可以将这些属性注入您自己的类中:
@Service
public class MyService {
@Value("${mysetting}")
private int mysetting; //Spring will inject '42' on bean creation
//...
}
当然,如果您更喜欢XML,也可以像DriverManagerDataSource
一样使用setter-injection。