Spring 中属性配置
1 注册自定义属性编辑器,方法一、使用BeanFactory, 则用户需要手动调用 registerCustomEditor(Class requiredType, PropertyEditor propertyEditor) 方法手动注册自定义的属性编辑器。方法二、使用
ApplicationContext,则只需在配置文件中通过 CustomEditorConfigure 注册即可。CustomEditorConfigure 实现了 BeanFactoryPostProcessor 接口,因而是一个 Bean 工厂后处理器。 Bean 工厂后处理器
在 Spring 容器中加载配置文件并生成 BeanDefinition 半成品后会自动执行。因此,CustomEditorConfigure 在容器启动时有机会注入自定义的属性编辑器。
2 在 Spring 中自定义属性编辑器,可以通过扩展 PropertyEditorSupport 类实现自定义属性编辑器。Spring 环境下一般仅需将字符串转换成属性,所以一般仅需覆盖 setAsText 方法。
一个简单例子:

下面进行配置

说明:

3 使用外部属性文件配置。例如对数据源进行配置,使用属性文件进行配置的好处
- 减少维护工作量,配资信息可以被共享
- 是部署更简单
spring 提供了 PropertyPlaceholderConfigure ,他能够使 bean 在配置时引用外部属性文件。PropertyPlaceholderConfigure 实现了 BeanFactoryPostProcessorBean 接口,因而也是一个
Bean 工厂后处理器。
下面是一个数据源的配置:

jdbc.properties 是配置文件,
4 PropertyPlaceholderConfigure 其他属性
- locations:如果只有一个属性文件,则直接使用 Location 属性指定即可;如果有多个属性文件,则可以通过 locations 属性进行配置。
- fileEncoding:属性文件的编码格式
- order:如果配置文件中定义了多个 PropertyPlaceholderConfigure ,则通过该属性制定优先顺序
5 在 xml 配置文件中通过使用 "${propname}" 形式引用属性值,基于注解的配置 bean 可以通过 @Value() 为成员变量或方法入参自动注入容器中已有的属性。
注意:在使用 @Value() 时,一定要确保所引用的属性值在属性文件中已经存在且数值匹配。否则会造成 Bean 创建错误,引发意想不到的异常。
6 信息加密,可以分为对称、非对称两种方式,对称方式可以将加密后的信息还原成原值。而非对称不能将加密后的信息还原成原始值。
MD5 属于非对称加密,DES属于对称加密。
7 spring 3.0 版本中,在配置文件即可引用 Bean 的属性值。通过类似 #{beanName.beanProp} 方式引用另一个 bean 的值。
Spring 中属性配置的更多相关文章
- Spring Boot 属性配置和使用
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...
- Spring Boot 属性配置和使用(转)
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...
- Velocity初探小结--Velocity在spring中的配置和使用
最近正在做的项目前端使用了Velocity进行View层的数据渲染,之前没有接触过,草草过了一遍,就上手开始写,现在又回头细致的看了一遍,做个笔记. velocity是一种基于java的模板引擎技术, ...
- C3P0连接池在hibernate和spring中的配置
首先为什么要使用连接池及为什么要选择C3P0连接池,这里就不多说了,目前C3P0连接池还是比较方便.比较稳定的连接池,能与spring.hibernate等开源框架进行整合. 一.hibernate中 ...
- Spring中属性文件properties的读取与使用
实际项目中,通常将一些可配置的定制信息放到属性文件中(如数据库连接信息,邮件发送配置信息等),便于统一配置管理.例中将需配置的属性信息放在属性文件/WEB-INF/configInfo.propert ...
- Sping Boot入门到实战之入门篇(三):Spring Boot属性配置
该篇为Sping Boot入门到实战系列入门篇的第三篇.介绍Spring Boot的属性配置. 传统的Spring Web应用自定义属性一般是通过添加一个demo.properties配置文件(文 ...
- MyBatis延迟加载及在spring中集成配置
当你要使用one to one,many to one 就会碰到N+1的问题.很明显,对象之间关联很多有A关联B,B关联C,C关联A这样的关系,如果不是采用延迟加载,很容易一下在出现成千上万对象 ...
- spring中事务配置
1 如果在方法.类.接口上使用注解的方式声明事务,需要在配置文件中进行配置,以便通知 Spring 容器对标注 @Transactional 注解的 bean 加工处理. 首先需要引入 tx 命名空间 ...
- Spring Boot 属性配置&自定义属性配置
在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...
随机推荐
- 职场菜鸟初窥Ant
对于新入职的新人来说,学校的那一套东西于实际的工作根本不够.诸多的技术知识还得自己去慢慢掌握和理解.对于项目的发布笔者以前也就仅仅使用开发工具集成的发布功能,并未使用过Ant进行项目的发布.因此需要做 ...
- 常见MIME类型
Response对象通过设置ContentType使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据. MIME类型格式:类别/子类别;参数 Co ...
- THINKPHP URL模块大小写导致404问题
最近我使用THINKPHP开发了一个项目在本地的集成开发环境wampserver做开发时并没有出现问题 上传到linux系统也没有出现问题,但当上传到windows平台上就出现了问题"文件4 ...
- ios之开发者须知常见简写英文代表的含义
<span style="white-space:pre"> </span> //NS基本 //MK地图 //CG图形绘制 //AV视音频 //UI视图 / ...
- 正则 js截取时间
项目中要把时间截取,只要年月日,不要时分秒,于是 /\d{4}-\d{1,2}-\d{1,2}/g.exec("2012-6-18 00:00:00") 或者另一种 var dat ...
- idea 本地调用zookeeper配置
- cocos2d-x -3.81+win7+vs2013开发环境创建新的项目
cocos2d-x -3.81+win7+vs2013开发环境创建新的项目 1.准备阶段 (1) vs2013下载及安装 (2)cocos2d-x 3.8.1下载及解压 (3)python下载及安装( ...
- [HTML5] Using the focus event to improve navigation accessibility (nextElementSibling)
For a menu item, when we tab onto it, we want this element get 'focus' event, so that the submenu wi ...
- Linux集群监控工具简介:Ganglia和Nagios
11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...
- JSTL标签引入(web基础学习笔记十八)
一.JSTL包下载和引入 1.0.简介 JSTL全名为JavaServer Pages Standard Tag Library 1.1.下载包 下载地址:http://archive.apache. ...