Spring AOP依赖于代理机制 - J2SE动态代理或使用CGLIB(根据spring文档)。 是否可以使用Spring定义的AOP机制而无需在spring应用程序上下文中创建/声明bean?
如果Spring不可能 - AspectJ的加载时间编织(LTW)或编译时间编织(CTW)将有助于解决问题吗?
要求:尝试为我的旧项目实施日志记录和事务管理,而不将POJO声明为spring bean。
答案 0 :(得分:2)
不,你必须把它们置于Spring的控制之下。你不能要求Spring向豆子提供它不知道的建议。
没有打电话给" new&#34 ;;必须用应用程序上下文替换它们。
答案 1 :(得分:1)
如@duffymo所述,Spring只能对在其上下文中声明的bean进行操作。
AspectJ,无论是LTW还是CTW,都可以用来实现你想要的目标。
您可能考虑的另一个工具是Byteman,它们在较低级别运行,但如果性能对您来说是个问题,则开销也较低。