Spring AOP依赖于代理机制-J2SE动态代理或使用CGLIB(根据Spring文档(。是否可以使用Spring定义的AOP机制而不在Spring应用程序上下文中创建/声明bean?
如果这在Spring中是不可能的,那么AspectJ的加载时编织(LTW(或编译时编织(CTW(是否有助于解决这个问题?
要求:尝试为我的一个旧项目实现日志记录和事务管理,而不将POJO声明为springbean。
不,您必须将它们置于Spring的控制之下。你不能要求春天去建议它不知道的豆子。
没有对"新"的调用;必须用应用程序上下文替换那些。
如@dufymo所述,Spring只能对其上下文中声明的bean进行操作。
AspectJ,包括LTW和CTW,都可以用来实现您想要的。
您可能会考虑的另一个工具是Byteman,它在较低级别上运行,但如果性能对您来说是个问题,则开销也较低。