1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| @Component public class MyBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if(beanName.equals("user")){ System.out.println("postProcessBeforeInitialization方法执行了->user对象初始化方法前开始增强..."); } return bean; }
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if(beanName.equals("user")){ System.out.println("postProcessBeforeInitialization方法执行了->user对象初始化方法后开始增强..."); Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(bean.getClass()); enhancer.setCallback(new InvocationHandler() { @Override public Object invoke(Object o, Method method, Object[] objects) throws Throwable { System.out.println("执行增强方法"); return method.invoke(method,objects); } }); } return bean; } }
|