一项目中有通过插件的方式,利用java中反射加载的类,有通过spring bean配置加载类,对于反射加载的类,如何来进行spring aop的配置呢?


在一项目中,即有使用反射加载类,又有通过spring bean配置来加载类的试,通过spring bean配置的方式来加载的类,我可以很方便的使用spring aop来进行一些校验或监控操作,但通过常归反射加载的类却无法使用spring aop的方式来处理,请问有什么好的方案来解决吗?谢谢

spring java

传说中的大叔 8 years, 11 months ago
  1. 通过spring 自己加载的类, 它在加载时, 它可以有两个选择(二者选其一即可), 一个是做动态代理. 一个是通过asm,进行class修改. 做了这两个之后, aop便是顺其自然的事情 . 你new的类,没有做这些事情, 肯定无法利用spring的aop.
  2. aop本身实现并不复杂, 你可以自己写一个加载器. 多多参考一下网上用例吧. 自己使用动态代理+反射做,效率会低一些. 如果使用asm或者cglib做,负责一些,但是效率最高.
用奶油淹死你 answered 8 years, 11 months ago

Your Answer