`
xinglijun1973
  • 浏览: 52498 次
社区版块
存档分类
最新评论

spring 改变占位符属性值

 
阅读更多

需求:

    像数据库密码,一般不能在属性文件中明文表示。那么需要将密码加密,在配置文件中配置加密后的密文。运行时候,加载属性文件后再将密文还原为明文,提供给jdbc驱动作为连接数据库参数。

 

实现:

java:

public class DecryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
	@Override
	protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props)
			throws BeansException {

		Properties p = decodeProperties(props);//此处解密属性
		super.processProperties(beanFactoryToProcess, p);
	}
}

 xml配置:

  	<!--  原来占位符属性
	<bean id="webframe.datasource.config" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		-->
	<bean id="webframe.datasource.config" class="com.skyon.webframe.config.DecryptPropertyPlaceholderConfigurer">	
		<property name="order" value="1" />
    	<property name="ignoreUnresolvablePlaceholders" value="true" />
    	<property name="properties" ref="mm" />
        <!--  mm此处属性使用密文-->
	</bean>

 

分享到:
评论

相关推荐

    在Spring中使用加密外部属性文件

    在Spring的开发中,我们在很多情况下会使用占位符引用属性文件的属性值来简化我们的系统及使我们的系统具有更高的灵活性和通用性。这种配置方式有两个明显的好处: ?- 减少维护的工作量:资源的配置信息可以多应用...

    greenbird-configuration:基于Spring的项目的配置框架

    Spring属性占位符值和Environment属性的交叉授粉。 通过日志记录和JMX可见加载的组件和配置属性。 自动为使用greenbird-configuration的所有依赖项加载配置和Spring定义。 对Mule和Camel框架的透明支持,并带有和...

    Spring Boot中文文档.rar

    属性中的占位符 24.6.加密属性 24.7.使用YAML而不是属性 24.7.1.加载YAML 24.7.2.在Spring环境中将YAML公开为属性 24.7.3.多个档案的YAML文件 24.7.4.YAML缺点 24.8.类型安全的配置属性 24.8....

    spring-configurable-sample

    #自述文件使用 spring @Configurable 注释的“原型”bean 类型的示例(也请记住单例 bean),即使用普通的“new”运算符创建 bean,然后 spring 进一步控制初始化 bean,替换 @Value 占位符 bean 属性上的值,调用 ...

    springboot参考指南

    属性占位符 vi. 23.6. 使用YAML代替Properties i. 23.6.1. 加载YAML ii. 23.6.2. 在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. ...

    struts2 详解文档

    输出带有占位符的国际化信息 配置包范围国际化资源文件 配置Action范围国际化资源文件 ognl表达式 Struts 2常用标签解说 使用标签防止表单重复提交 Struts 2+Spring 2.5+Hibernate 3.3整合开发

    乐优商城.xmind

    通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。 select * from tb_category where id in (select ...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 17 【基础】重载(Overload)和重写(Override)的区别。重载的方法能否...

Global site tag (gtag.js) - Google Analytics