【问题标题】:What is the best way to have interceptors for POJO?为 POJO 设置拦截器的最佳方式是什么?
【发布时间】:2011-04-29 05:57:45
【问题描述】:

EJB 3.0 带有拦截器的概念,但同样它们仅适用于 EJB。我的项目需要为 POJO 类开发拦截器。一种选择是使用 Spring AOP。我想知道是否值得包含 Spring AOP 所需的 commons-logging、spring-aop、cglib 等库的开销。

【问题讨论】:

  • 另一种方法是使用 AspectJ。

标签: spring aop interceptor


【解决方案1】:

Spring 不仅仅是 Spring AOP,没有 Spring 就不能使用 Spring AOP,我说的不仅是 Spring 库,还有 Spring 编程模型!

因此,如果您认为 Spring 对您的应用程序有用(相信我,它对许多应用程序非常有用),那么您可以使用它。 - 但它是一个完整的编程模型,就像 EJB 一样,不仅仅是一个 lib 或一个简单的框架。

但我认为每一个现代的不平凡的应用程序都应该有一个 ICO 容器,所以 Spring 是你的选择之一。

【讨论】:

    【解决方案2】:

    当然,这是值得的,但请注意,如果您需要为您的 POJO 设置拦截器,这还不够:您还需要一个“spring agent”作为参数传递给您的 jvm(“Load-Time Weaving”),否则您将无法拦截您的 pojos 方法,或者您将不得不使用“Compile-Time Weaving”。

    简而言之:POJO 必须通过 Spring 创建才能“可拦截”。

    CTW(或 LTW)使编译(或启动)变得非常慢。

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2022-12-12
      • 1970-01-01
      • 2015-11-23
      • 2012-06-04
      • 2016-11-23
      相关资源
      最近更新 更多