之前我使用过Spring AOP,但我不确定这是否是解决此问题的最佳方法。
有一个服务层类,它具有自动装配的DAO来保存对象。成功保存对象后,应将消息(SMS)发送到对象提供的电话号码。
标准做法是使用AOP保持服务不知道消息传递bean的内容,还是将bean注入服务并发送消息?
答案 0 :(得分:2)
完全取决于业务需求,您也可以使用Interceptor实现相同的功能。保存对象后,您可以在保存后调用拦截器,并可以通过它发送消息,使服务不知道消息发送部分。
答案 1 :(得分:0)
我并没有完全出售这是对AOP的有效使用(见AOP use cases? )
就个人而言,我对服务层知道SMS消息没有任何问题。但是,正如本线程中所提到的,为了避免代码重复,我会看一个实体监听器:http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/interceptors/jpa-entity-listeners