import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.ApplicationEvent;
public class OtherFactory implements BeanPostProcessor {
public static IOther getOther() {
return new Other();
}
private String string;
public IOther getIOther() {
IOther other = new Other();
other.setString(string);
return other;
}
public String getString() {
return string;
}
@Override
public Object postProcessAfterInitialization(Object object, String string)
throws BeansException {
Field[] fields = object.getClass().getDeclaredFields();
AccessibleObject.setAccessible(fields, true);
for (Field field : fields) {
if (String.class.equals(field.getType())) {
try {
field.set(object, field.get(object));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return object;
}
@Override
public Object postProcessBeforeInitialization(Object object, String string)
throws BeansException {
return postProcessAfterInitialization(object, string);
}
public void setString(String string) {
this.string = string;
System.out.println(string);
}
}
spring-ioc的基本配置(BeanPostProcessor)
最新推荐文章于 2023-07-11 10:56:09 发布
本文展示了一个实现 Spring BeanPostProcessor 接口的示例类 OtherFactory,该类用于演示如何在 Bean 初始化前后进行处理。文章包括了如何通过反射设置 Bean 的属性值,并展示了如何在 Bean 初始化的不同阶段进行操作。
242

被折叠的 条评论
为什么被折叠?



