spring读取properties配置文件

      在项目中,会存放一些不经常变动的信息,比如数据库的配置,如果我们直接写在代码里,当项目发布以后,想要修改数据库的连接信息,就需要修改代码,重新发布,这样做显然是不明智的选择。我们就可以把这些信息写到一个配置文件中,即使项目发布了,需要修改数据库的配置信息,也不需要复杂的操作,只需要修改配置文件即可。

     通过spring读取properties配置文件,我觉得可以分为三步,第一步是在项目中添加一个.properties配置文件,第二步在spring中加载定义的配置文件,第三步就是在xml文件或java文件中读取值。

      最开始我们的数据库配置信息是这样的

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
    <property name="driverClass" value="com.mysql.jdbc.Driver" />  
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shop" />  
    <property name="user" value="root" />  
    <property name="password" value="root" />  
</bean>  

         当我们定义了配置文件后,就可以把上面的信息抽取出来:

dataSource=com.mchange.v2.c3p0.ComboPooledDataSource  
driverClass=com.mysql.jdbc.Driver  
jdbcUrl=jdbc\:mysql\://localhost\:3306/shop  
user=root  
password=root  

       接下来就是加载配置文件,加载配置文件有两种方式:

<context:property-placeholder location="classpath:conn.properties"/>

     上面我们是通过<context:property-placeholder location=""/>标签来加载配置文件的,但是如果我们需要加载多个配置文件时,就需要添加通配符。

      我们还可以同过另外一种方式加载:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">
     <!-- PropertyPlaceholderConfigurer类中有个locations属性,接收的是一个数组,即我们可以在下面配好多个properties文件 -->  
        <array>  
            <value>classpath:conn.properties</value>  
        </array>  
        <array>  
            <value>classpath:sys.properties</value>  
        </array>  
    </property>  
</bean> 

      最后我们就可以读取配置文件的值了。

      在xml文件中,通过${}读取:

<bean id="dataSource" class="${dataSource}"> 
    <property name="driverClass" value="${driverClass}" />  
    <property name="jdbcUrl" value="${jdbcUrl}" />  
    <property name="user" value="${user}" />  
    <property name="password" value="${password}" />  
 </bean>  

      通过注解在java类中通过@Value注解读取:

    @Value("#{name}")  
    private String dbname;  
      
    @Value("#{passward}")  
    private String dbpassward; 
      关于这块的内容也是刚刚学习,希望大家多多指教。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值