2011-12-17 71 views
1

我servlet.xml文件保存所有有关我的spring配置数据源一样豆等信息扩展Spring的配置保存自定义XML设置

<bean id="..." class="..."> 
</bean> 

现在我的应用程序,我需要在配置文件中保存的其他设置,有可能在这里创建我自己的设置,或者有更好的方法吗?

我想加载一次,并在我的项目中引用速度非常快。

我需要它来存储一些文件路径和其他数据库设置喜欢的事情的MongoDB等

回答

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使用setter方法的注射像DriverManagerDataSource中。

也看看:Spring 3.1 M1: Unified Property Management

+0

我想引用我的代码中的值,而不是xml。 – Blankman 2011-12-17 20:25:50

+1

所以我不太明白你的问题。我更新了我的答案('MyService'示例),它更接近你想要达到的目标吗? – 2011-12-17 20:32:07

+0

是的,这是我想要的,所以我把这个.properties文件放在哪里?我可以有多个,因为你似乎没有引用任何名称?像db.properties或myconfig.properties? – Blankman 2011-12-17 23:15:37