Spring3.0中AOP生成代理对象问题
2016-03-24 00:00
225 查看
项目中遇到一个Spring初始化bean的问题;
1.在spring中定义一个bean,然后注入部分属性值;
2.在spring-transaction中定义该类进行事务拦截
3.在使用该类时进行注入,得到的是代理类,但是代理类中的属性值都变成系统默认值了
原因:
Spring对需要事务的类 进行了代理,代理是重新生成一个该bean的实例,与原来已被Spring初始化过的bean没有关系;Spring使用cglib里面的callback 保存原来bean 对象;当进行代理方法调用时,获取去callback里面的被代理对象,调用其方法;
1.在spring中定义一个bean,然后注入部分属性值;
2.在spring-transaction中定义该类进行事务拦截
3.在使用该类时进行注入,得到的是代理类,但是代理类中的属性值都变成系统默认值了
原因:
Spring对需要事务的类 进行了代理,代理是重新生成一个该bean的实例,与原来已被Spring初始化过的bean没有关系;Spring使用cglib里面的callback 保存原来bean 对象;当进行代理方法调用时,获取去callback里面的被代理对象,调用其方法;
相关文章推荐
- Spring源码分析1--IoC容器载入Bean定义资源
- DataTables的服务器端分页处理
- Spring EL 小记(一)
- JAVA后台获取不到form表单提交值的情况
- 20145326 《Java程序设计》第4周学习总结
- java安装
- java 使用ReentrantLock Condition实现阻塞队列
- Struts2常见的struts.xml以及constant属性的写法(设置清空页面缓存)。
- Java——Swing事件处理
- 229. Majority Element II | Java最短代码实现
- 学习java的第一天
- java基础学习03(java基础程序设计)
- 优化myeclipse启动速度以及解决内存不足问题
- java获取随机数
- JAVA之日期时间
- Java 线程同步
- Java流的操作使用
- java中currentTimeMillis()和Math.random()
- ubuntu下eclipse无法启动问题
- java中传参