【问题标题】:Is it possible to use Spring AOP without creating beans?是否可以在不创建 bean 的情况下使用 Spring AOP?
【发布时间】:2014-06-17 03:31:24
【问题描述】:

Spring AOP 依赖于代理机制 - J2SE 动态代理或使用 CGLIB(根据 spring 文档)。 是否可以使用Spring定义的AOP机制而不需要在spring应用上下文中创建/声明bean?

如果 Spring 无法实现 - AspectJ 的加载时间编织 (LTW) 或编译时间编织 (CTW) 是否有助于解决问题?

要求:尝试为我的一个旧项目实现日志记录和事务管理,而不将 POJO 声明为 spring bean。

【问题讨论】:

标签: java spring aop spring-aop


【解决方案1】:

正如@duffymo 所述,Spring 只能对在其上下文中声明的 bean 进行操作。

AspectJ,LTW 和 CTW,都可以用来实现你想要的。

您可能会考虑的另一个工具是Byteman,它在较低级别运行,但如果性能对您来说是个问题,那么开销也较低。

【讨论】:

    【解决方案2】:

    不,您必须将它们置于 Spring 的控制之下。你不能要求 Spring 建议它不知道的 bean。

    没有调用“新”;必须用应用程序上下文替换那些。

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 2018-04-01
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      相关资源
      最近更新 更多