`

Spring 3中PropertySourcesPlaceholderConfigurer 的容易遗漏用法

阅读更多
Spring 3中PropertySourcesPlaceholderConfigurer是很常用的了,比如常见的是
一个数据连接文件,比如jdbc.properties,这个大家相信都很熟悉了,比如:

<context:property-placeholder location='database.properties'/>

用法:

<bean id='dataSource' destroy-method='close'
    class='org.apache.commons.dbcp.BasicDataSource'>
  <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>


  如果是用bean注入,则为:

@Value('${jdbc.driverClassName}') private String driverClassName;
@Value('${jdbc.url}')             private String dbUrl;
@Value('${jdbc.username}')        private String dbUserName;
@Value('${jdbc.password}')        private String dbPassword;

@Bean
public BasicDataSource dataSource() {
 BasicDataSource dataSource = new BasicDataSource();
 dataSource.setDriverClassName(driverClassName);
 dataSource.setUrl(dbUrl);
 dataSource.setUsername(dbUserName);
 dataSource.setPassword(dbPassword);
 return dataSource;
}


    介绍下特别用法,比如要假设sa是默认的username的值的话,可以这样:
<property name='username' value='${jdbc.username:sa}'/>
  就是用冒号隔开了

    另外一个特性为嵌套解析,比如:
phase=qa
jdbc.username.qa=abc
jdbc.username.dev=def
   则:
<property name='username' value='${jdbc.username.${phase}}'/>
   看明白了么?其实就是,比如很常见的是生产环境和测试环境不同的
数据库,则当phase为qa的时候,spring配置文件中自动会去设置
jdbc.username.qa的值为abc,当phase设置为dev的时候,自动设置
jdbc.username.qa的值为def
  
6
0
分享到:
评论
1 楼 closer13 2013-01-23  
嵌套解析那个还是挺有用的

相关推荐

    Spring 3 中文帮助文档..pdf

    Spring 3 中文帮助文档..pdf 之前一直不需要分的,不知道啥时候需要分了 之前一直不需要分的,不知道啥时候需要分了 之前一直不需要分的,不知道啥时候需要分了

    spring.net中文手册在线版

    使用方法的返回值进行注入 4.3.6.IFactoryObject接口的其它实现 4.3.6.1.Log4Net 4.3.7.使用depends-on 4.3.8.自动装配协作对象 4.3.9.检查依赖项 4.4.类型转换 4.4.1.枚举类型的转换 4.4.2.内置的类型转换器 4.4.3....

    Spring3_权威开发指南 Spring3Security-3.0.1中文官方文档

    里面有两个PDF文档,分别是Spring3_权威开发指南.pdf和Spring3Security-3.0.1中文官方文档.pdf。

    spring 源码中文注释

    spring 源码解析

    spring3最新教程3部合集

    spring3最新教程3部合集 1.官方文档 2.spring3 mvc示例 3.spring3 企业级应用

    spring-boot中文教程

    描述:Spring Boot中文文档是Spring Boot官方文档的中文翻译版,它包含了Spring Boot的基本介绍、快速入门、核心特性、高级特性等内容,可以帮助用户快速了解和掌握Spring Boot的使用方法和技巧。 Spring Boot是一款...

    Spring MVC 中文资料

    Spring3 MVC的优点: 1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的...3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。

    SPRING3技术内幕

     如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从《Spring技术内幕:深入解析Spring架构与设计原理》中受益。...

    spring3+struts2+hibernate3+spring security3 权限管理

    (4)项目除了security3的配置使用XML以外,其他基本使用注解配置完成 (5)项目采用的是5张数据表结构。前台及后台各采用了5张数据库表。当然你也可以进行修改后合并。 (6)数据库采用MYSQL 备份文件在src文件夹下...

    spring2.0升级到spring3.0.5的开发包

    将spring2的开发包spring.jar替换为附件中压缩文件的所有jar包,既可以将spring2.0的应用升级到spring3.0.5

    Spring3.X编程技术与应用,完整扫描版

    全书分3篇共21章,具体内容包括:Spring环境的安装与使用、JSP与JSTL简介、 Spring基础概念与工具、用SpringJdbcTemplate访问数据库、使用Mayen工程、Spring MVC编程、基于 MVC的资源共享网站设计、Spring的AOP编程...

    Spring.net 中文帮助文档 第二版

    这个版本的帮助文档,修正了第一个版本中部分,连接打不开的问题。 Spring.net 是由Java 版的 Spring框架得来的,虽然说不是很流行,但是还是值行学习的。 软件格式:CHM

    在自定义spring aop中使用el获取拦截方法的变量值。

    NULL 博文链接:https://conkeyn.iteye.com/blog/2354644

    spring3mvc真正入门资料

    Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的...3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。

    spring源码注释中文

    spring源码带注释的,直接可以阅读,不需要重新编译。

    Spring.3.x企业应用开发实战(完整版).part2

    《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    spring 3.x 中Restful风格服务开发 demo

    spring 3.x 中Restful风格服务开发 demo spring 3.x 中Restful风格服务开发 demo

    spring的使用方法

    以上资料是使用spring mvc参考资料

    3.gRPC 在 Spring Cloud 中的应用.

    3.gRPC 在 Spring Cloud 中的应用.3.gRPC 在 Spring Cloud 中的应用.

Global site tag (gtag.js) - Google Analytics