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都有默认配置,而这些默认配 ...
随机推荐
- 【cocos2dx开发技巧8】自定义控件-使自定义控件具有RGBA特性
转发,请保持地址:http://blog.csdn.net/stalendp/article/details/9948545 虽然CCNodeRGBA,CCLayerRGBA,sprite等提供颜色和 ...
- MySQL的IF函数
格式:IF(Condition,A,B) 意义:当Condition为TRUE时,返回A:当Condition为FALSE时,返回B. 作用:作为条件语句使用. 例子: SELECT fullN ...
- TCP/IP、SOCKET、HTTP之间的联系与区别
主要内容: 1.网络的七层协议 2.TCP/IP.SOCKET.HTTP简介 3.TCP连接.HTTP连接.Socket连接的区别 一.网络的七层协议 网络七层由下往上分别为物理层.数据链路层.网络层 ...
- oracle connect nocycle
select * from uc_staff_department_level t,uc_t_staff stwhere st.id=t.staff_idand t.department_id in ...
- Linux学习笔记--which命令(搜索命令的命令)
which.哪一个的意思.作用是从PATH环境变量指定的路径中,搜索命令所在位置及命令别名. which命令特点: 1) "which" 命令仅仅能查找系统命令.不能搜索普通文件. ...
- GIS专业书籍、文档、数据、网站、工具等干货
整理.分享一些个人整理的GIS专业书籍.文档.数据.网站.工具等.也希望大家将自己的心得也分享出来,一起交流,共同进步. 如果下载链接失效,请到这里去:地信网 一.原理应用类 GIS基础类 01.地理 ...
- Asp.Net 之 <%%>相关内联代码块用法
1.<%@ ... %> 用来添加命名空间引用,如:<%@ import namespace="system.data"> 2.<% ... %> ...
- iOS强引用和弱引用
保留一个对象创建了一个对该对象的“强”引用.一个对象只有在它的所有强引用都被释放后才能被回收.因此,一个对象的生命周期取决于其强引用的所有者.在某些情况下,这种行为可能并不理想.您可能想要引用一个对象 ...
- 10个最受欢迎的Java类(转)
原文:http://www.csdn.net/article/2012-06-04/2806277 每一个Java程序员都有一份属于自己的Java类排名表.这个排名表没有严格的规定,也没有可遵循的规则 ...
- 启动mysql出现1067错误
0. 打开mysql\bin\my.ini,查找[mysqld],在[mysqld]下面添加一行文字,skip-grant-tables 即组成 [mysqld] skip-grant-tables[ ...