使用BeanPostProcessor实现依赖注入的修正器

原创 2007年09月27日 15:34:00

 

如果我们想对一个bean的所有String类型的属性注入设置一个修正器,使其所有的注入内容均转换成大写,我们可以借助与Spring提供的 BeanPostProcessor接口

首先定义一个类,实现BeanPostProcessor接口,完成注入属性的大小写转换

 

public class UppercassModifier implements BeanPostProcessor{
    
public Object postProcessBeforeInitialization(Object bean,String name) throws BeansException{
       
//取得bean的field成员
       Field[] fields=bean.getClass().getDeclaredFields();
       
for(int i=0;i<fields.lengtj;i++){
          
//针对string类型的field成员加以修正
          if(fields[i].getType().equals(String.class)){
              fiels[i].setAccessible(
true);
              
try{
                   String orginal
=(String)field[i].get(bean);
                   field[i].set(bean,orginal.toUpperCase());
              }
catch(Exception e){
              }

          }

       }

      
return bean;
    }


}

 

spring bean

public class HelloBean{

   
private String helloworld;
   setter
/getter方法
}

 

配置文件

 

<bean id="uppercaseModifier" class="demo.UppercaseModifier"/>

<bean id="helloBean" class="demo.HelloBean">
   
<property name="helloworld" value="Hello"/>
</bean>

 

测试后,注入的Hello会自动转换成HELO

相关文章推荐

[.net 面向对象程序设计深入](26)实战设计模式——使用IoC模式(控制反转或依赖注入)实现松散耦合设计(1)

1,关于IOC模式  先看一些名词含义: IOC: Inversion of control 控制反转,简称 DI: Dependency Injection 依赖注入,简称 ...

用Roboguice实现依赖注入

  • 2015年10月07日 14:22
  • 1.55MB
  • 下载

Java代码实现依赖注入

  • 2009年12月20日 12:09
  • 309KB
  • 下载

使用反射及依赖注入实现灵活的插件模式

1.问题情境       在做BPM(业务流程处理)的过程中,我们通常要根据不同的处理流程选择相应的处理方法。这些处理流程的配置信息在数据库中,但是具体的相应的处理方法在代码中,如何能够根据数据库中...

Roboguice实现依赖注入

  • 2014年03月11日 14:38
  • 1.55MB
  • 下载

扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入1

今天开始天屹将给大家分享一个扩展的ASP.NET MVC三层框架,并使用StructureMap实现依赖注入,充分的使代码之间的耦合度降到最低。由于时间精力有限天屹无法在一篇文章中全部介绍完,将把文章...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用BeanPostProcessor实现依赖注入的修正器
举报原因:
原因补充:

(最多只允许输入30个字)