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都有默认配置,而这些默认配 ...
随机推荐
- OAuth 2.0 RFC 框架 中文
Internet Engineering Task Force (IETF) D. Hardt, Ed.Request for Comments: 6749 MicrosoftObsoletes: 5 ...
- Run Repository Creation Utility (RCU) for Oracle Identity Management components
Run Repository Creation Utility (RCU) for Oracle Identity Management components Installing O ...
- android设置横屏和竖屏的方法
方法一:在AndroidManifest.xml中配置 假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上androi ...
- MYSQL 表中汉字写入或字段赋值时乱码情况排误
-- 当改动字段值.或是直接写入时,汉字变成乱码情况 .[可注意一下数据库名,记得改动] -- 当字符顺序对汉字不兼容时,可能直接导致乱码情况发生. 最好做到库.表.字段(字符类型)排序规则是否一致 ...
- 使用Editplus配置PHP调试环境
工欲善其事必先利其器.近期看了非常多PHP的IDE介绍.最后选择了Editplus.以下说说一些PHP的调试环境配置问题. 1. 加入PHP模板 第一步 新建->其他->php 第二步 输 ...
- 编程算法 - 二叉搜索树 与 双向链表 代码(C++)
二叉搜索树 与 双向链表 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目:输入一颗二叉搜索树, 将该二叉搜索树转换成一个排序的双向链表. 要求 ...
- JavaBean(web基础学习笔记十二)
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...
- Speculative Execution in Hadoop
来自:http://blog.csdn.net/macyang/article/details/7880671 所谓的推测执行,就是当所有task都开始运行之后,Job Tracker会统计所有任务的 ...
- Android 如何将Canvas上绘制的内容保存成本地图片(转)
效果如下图所示 保存在sd卡上的文件为 手机上显示效果为: 1>>在Manifest文件中增加相应权限 <!-- 在SDCard中创建与删除文件权限 --> <uses- ...
- 开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践
16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启.通过封神了解到,在上午的专场中,阿里云高级技术专家无谓.阿里云技术专家封神.阿里巴巴中间件技术部高级技 ...