【问题标题】:Should I use AOP to address this cross-cutting concern?我应该使用 AOP 来解决这个横切关注点吗?
【发布时间】:2015-05-31 15:22:54
【问题描述】:

我以前使用过 Spring AOP,但我不确定这是否是解决此问题的最佳方法。

有一个服务层类具有自动装配的 DAO 来保存对象。成功保存对象后,应向对象提供的电话号码发送消息 (SMS)。

标准做法是让服务不知道使用 AOP 的消息传递 bean,还是将 bean 注入服务并发送消息?

【问题讨论】:

    标签: java spring aop


    【解决方案1】:

    这完全取决于业务需求,您也可以使用拦截器实现相同的目标。保存对象后,您可以在保存后调用拦截器并通过它发送消息,使服务不知道消息发送部分。

    【讨论】:

      【解决方案2】:

      我并不完全相信这是对 AOP 的有效使用(请参阅 AOP use cases?

      就我个人而言,我对服务层知道 SMS 消息没有任何问题。然而,正如这个线程中提到的,为了避免代码重复,我会看一个实体监听器:http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/interceptors/jpa-entity-listeners

      【讨论】:

        猜你喜欢
        • 2011-08-01
        • 1970-01-01
        • 2020-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多