论坛首页 Java企业应用论坛

spring中实现aop的代理类无法按照配置文件得到其成员变量属性值的解决方法

浏览 2719 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-01-22  
很拗口的题目,也不知道该怎么称呼这个问题
就是有一个应用类本身有一些自己的属性是通过依赖注入的,其中有一个方法,方法里面又定义了一个回调方法需要用到成员变量,如果直接配置aop通过代理得到这个对象的引用,那么虽然有方法,但是其成员属性是没有通过依赖注入的,也就是为null,所有在执行具体方法时,会报空指针异常。
  不知道是不是spring有什么可以配置的属性,自己用了个笨方法,先get一个代理类,再get一个应用类,其中代理类有一个init方法,参数就是应用类,目的是将从容器得到的配置好的应用类的成员变量的引用传给代理类,代码如下:
ApplicationContext ac =
new ClassPathXmlApplicationContext("applicationContext.xml");
  IBlobReader br=(IBlobReader) ac.getBean("myService");
  IBlobReader br2=(IBlobReader) ac.getBean("blobreader");
  br.init(br2);


之后再执行br的方法就可以实现拦截了,好像有点麻烦和多余,不过功能是实现了,才学spring不久,不知道这个问题有没有什么简单的解决方法
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics