对Bean和Bean工厂进行后处理

1.对Bean进行后处理,必须实现BeanPostProcessor接口,后处理是在Bean实例化以及装配完成之后发生的。
下面是一个简单的例子:
先来创建一个实现了BeanPostProcessor接口的类,此类功能是把Bean中的所有String属性的值的r,l或R,L换成w或W,代码如下:
package cn.itcast;

import java.lang.reflect.Field;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

public class Fuddifier implements BeanPostProcessor {

public Object postProcessBeforeInitialization(Object arg0, String arg1)
throws BeansException {
Field[] fields = arg0.getClass().getDeclaredFields();
try {
for (int i = 0; i < fields.length; i++) {
if (fields[i].getType().equals(java.lang.String.class)) {
fields[i].setAccessible(true);
String original = (String) fields[i].get(arg0);
fields[i].set(arg0, fuddify(original));
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return arg0;
}

private String fuddify(String orig) {
if (orig == null)
return orig;
return orig.replaceAll("(r|l)", "w").replaceAll(" (R|L) ", "W");
}

public Object postProcessAfterInitialization(Object arg0, String arg1)
throws BeansException {
return arg0;
}
}

再来创建一个简单的javaBean:
package cn.itcast;

public class Rabbit {
private String description;

private String address;

public String getAddress() {
return address;
}

…………………………………………………………………………

转载:http://www.verydemo.com/demo_c143_i5487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值