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都有默认配置,而这些默认配 ...
随机推荐
- Cognos报表展示图片小技巧
场景:在销售行业,比如手机,服装行业,如果仅仅的显示数字.文字那就显得不是很生动了,例如可以显示一下图片,那种样子的产品受大家喜欢. 样例1:在报表头都喜欢加上一些公司的logo,让报表看上去专业点. ...
- sed 常用的命令
n: 读取一行,执行n,把当前行打印到标准输出,再读取一行,覆盖当前行,然后对模式空间执行一组模式/行为.N:读取一行,执行N,再读取一行,现在模式空间有两行内容,执行一组模式/行为.如下:[root ...
- Passing address of non-local object to __autoreleasing parameter for write-back
在希望通过函数的參数返回Objective-C对象的时候.遇到了这个问题 错误代码例如以下: - (void)methodA:(NSString **)string<span style=&qu ...
- 理解进程调度时机跟踪分析进程调度与进程切换的过程(Linux)
----------------------------------------------------------------------------------- 理解进程调度时机跟踪分析进程调度 ...
- openfire 用户名+密码 配置
安装了openfire后要求配置,通常用户名都是admin,密码是安装时用户所设定的密码.由于种种原因会出现无法登陆的现象.现有两种方法可以解决. 1. 进入openfire的安装目录下---> ...
- 算法笔记_172:历届试题 波动数列(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3. 栋栋对这种数列很好奇,他想知道长度 ...
- Unix时间戳转换
import time def timestamp_datetime(value): format = '%Y-%m-%d %H:%M:%S' # value为传入的值为时间戳(整 ...
- java经典小程序
1,编写程序,判断给定的某个年份是否是闰年. 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年. (2)若某个年份能被400整除,则也是闰年. import java.ut ...
- OpenERP7.0安装后提示“not supported" ,如何去掉此提示
转自:http://blog.csdn.net/vnsoft/article/details/17581831 下载了新版本的OpenERP7.0安装测试,发现在登录后会提示如图的内容. 经过测试发现 ...
- 查询SQL存储过程创建时间
select [name] ,create_date ,modify_date FROM sys.all_objects where type_desc = N'SQL_STORED_PROCE ...