Spring中应用占位符需引入的配置

转载自:http://blog.csdn.net/hu_shengyang/article/details/7900435

spring配置数据源的时候,我们经常需要读取*.propretie文件中的信息,然后在spring的数据元配置文件中以占位符的方式来引入数据源配置属性的值。

如果需要在spring的配置中以占位符方式来配置,请参考以下三种方式:

 

 

(1)<!-- 获取properties数据源文件 方式一 -->  
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    
       <property name="locations">    
           <list>    
               <value>classpath:/ssh-config/spring_2.5.5/c3p0.properties</value>    
           </list>    
       </property>    
   </bean>   
  
  
(2)<!-- 获取properties数据源文件 方式二 -->  
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    
    <property name="location" >   
        <value>classpath:/ssh-config/spring_2.5.5/c3p0.properties</value>  
    </property>  
   </bean>   
  
  
(3)<!-- 获取properties数据源文件 方式三 -->  
<context:property-placeholder location="classpath:/ssh-config/spring_2.5.5/c3p0.properties"/>  



<!--例如: -->
	<!-- 读取配置文件 -->
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:jdbc.properties"/>
	</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass">
			<value>${jdbc_driver}</value>
		</property>
		<property name="jdbcUrl">
			<value>${jdbc_url}</value>
		</property>
		<property name="user">
			<value>${jdbc_user}</value>
		</property>
		<property name="password">
			<value>${jdbc_password}</value>
		</property>
		<property name="minPoolSize">
			<value>2</value>
		</property>
		<property name="maxStatements" value="1000"></property>
		<property name="maxPoolSize" value="5"></property>
		<property name="idleConnectionTestPeriod" value="120"></property>
		<property name="maxIdleTime" value="300"></property>
	</bean>


 

 

只需要在配置文件中引入以上三种之一就可以了。

当然(1)       可以一次引入多个.properties文件,(2)(3)一次只可以引入单独的.properties文件。

 

 

package com.ethel.pagination.demo.service;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
@Component
public class PropertyPlaceHolderTest {
		@Value("${redis.masterName}")
	    String masterName;
	    
}

 

测试类:

package com.ethel.pagination.demo.service;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class testMain {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"classpath:spring/spring-base.xml","classpath:spring/spring-db.xml","classpath:spring/spring-mvc.xml"});
        PropertyPlaceHolderTest bean = ctx.getBean(PropertyPlaceHolderTest.class);
//        PropertyPlaceHolderTest bean = (PropertyPlaceHolderTest)ctx.getBean("testName");
        
        System.out.println(bean.masterName);
    }
}



 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值