有事没事领个红包

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 的值。

 

posted @ 2017-08-22 14:29  crazyCodeLove  阅读(296)  评论(0编辑  收藏  举报