spring读取properties文件

项目中的一些灵活配置,设置到properties文件中,项目中通过读取properties中相应的值来使用,修改时,也只修改properties即可。以上为使用的好处,现在,总结一下项目中propeties文件的使用。

一、java直接读取properties

二、spring管理properties

三、自定义PropertyPlaceholderConfigurer


第一种,java直接读取的方式有很多种,主要思路就是通过inputStream读取到properties文件,获取值并应用。主要代码:

<pre name="code" class="java">Properties properties = new Properties();
InputStream in = Object.class.getResourceAsStream("properties的路径");
properties.load(in); 
现在,通过properties可以取到值并应用了。

 

        

第二种,spring管理

spring主要是通过PropertyPlaceholderConfigurer类来管理。该类是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以将上下文(配置文 件)中的属性值放在另一个单独的标准java Properties文件中去。

下面看一段我们都熟悉的代码:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="locations">
		<list>
			<value>classpath*:config/jdbc.properties</value>
			<value>classpath*:config/default.properties</value>
		</list>
	</property>
</bean>
<pre name="code" class="html"><bean id="dataSource"  
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
        <property name="driverClassName" value="${jdbc.driverClassName}" />  
        <property name="url" value="${jdbc.url}" />  
        <property name="username" value="${jdbc.username}" />  
        <property name="password" value="${jdbc.password}" />  
 </bean>  
在我们的service或者action中使用时,也是同样,将properties中的key写到对应bean的配置中。
<bean id="userIService" class="com.upCloud.service.UserServiceImpl">
	<property name="default1" value="${default1}" />
</bean>
在bean中配置之后,在userServiceImpl.java中注入default1即可使用了。


在实际应用中,存在的问题是:如果action或者dao层的类不需要在xml中声明,那properties中的值如何配置呢?下篇,再继续介绍自定义PropertyPlaceholderConfigurer,来实现更灵活的读取方式。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值