spring后处理bean,BeanPostProcessor
2017-03-10 09:26
351 查看
spring 提供一种机制,只要实现此接口BeanPostProcessor,并将实现类提供给spring容器,spring容器将自动执行,在初始化方法前执行before(),在初始化方法后执行after() 。 配置
配置
后处理bean作用于所有bean
通过参数2beanname进行控制可作用于一个bean
<bean class="">
public class MyBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { System.out.println("前方法 : " + beanName); return bean; } @Override public Object postProcessAfterInitialization(final Object bean, String beanName) throws BeansException { System.out.println("后方法 : " + beanName); // bean 目标对象 // 生成 jdk 代理 return Proxy.newProxyInstance( MyBeanPostProcessor.class.getClassLoader(), bean.getClass().getInterfaces(), new InvocationHandler(){ @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("------开启事务"); //执行目标方法 Object obj = method.invoke(bean, args); System.out.println("------提交事务"); return obj; }}); } }
配置
<!-- 将后处理的实现类注册给spring --> <bean class="MyBeanPostProcessor"></bean>
后处理bean作用于所有bean
通过参数2beanname进行控制可作用于一个bean
相关文章推荐
- 【Spring】对象后期处理,BeanPostProcessor
- 04Spring_bean 后处理器(后处理Bean),BeanPostProcessor ,bean创建时序,动态代理
- Spring 的 BeanPostProcessor接口实现
- Spring源代码分析(4)---BeanFactoryPostProcessor(看见的不一定是真的)
- Spring的后置处理器BeanFactoryPostProcessor
- Spring的后置处理器(BeanFactoryPostProcessor和BeanPostProcessor)
- Spring BeanPostProcessor与动态加载数据源配置
- Spring 的 BeanPostProcessor
- Spring开闭原则的表现-BeanPostProcessor扩展点-2
- spring开发_BeanPostProcessor_Bean后处理器
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- Spring源代码分析(6)---BeanPostProcessor(半路杀出个程咬金)
- 采用DelegatingRequestProcessor将处理转发给Spring容器中的bean
- spring开发_BeanFactoryPostProcessor_容器后处理器
- Spring 的 BeanPostProcessor接口实现
- java spring Writing a BeanFactoryPostProcessor
- Spring 的 BeanPostProcessor接口实现
- spring学习5- Container Extension Points(BeanPostProcessor 与BeanFactoryPostProcessor)
- Spring 的 BeanPostProcessor接口实现
- Spring中使用BeanPostProcessor需要注意的地方