加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – AOP实现背后的重要思想是什么?

发布时间:2020-12-14 23:58:29 所属栏目:Java 来源:网络整理
导读:我想向我说清楚. 我读到了AOP概念,我明白这是分享跨领域服务的好方法. (记录,安全,交易……) 但我想说/询问一下这个想法及其实施情况. 我读到有一些方法,比如AspectJ,JBOSS AOP,以便将AOP同化到我的业务逻辑中. 但很久以前不是这里的吗? 比方说,我想在我的
我想向我说清楚.

我读到了AOP概念,我明白这是分享跨领域服务的好方法. (记录,安全,交易……)

但我想说/询问一下这个想法及其实施情况.

我读到有一些方法,比如AspectJ,JBOSS AOP,以便将AOP同化到我的业务逻辑中.

但很久以前不是这里的吗?

比方说,我想在我的组件(Java bean,EJB’,无论如何……)之间共享一个日志记录或安全实现.

为什么我不能让Singleton bean确保它只有一个实例,只要任何组件需要它的日志/安全服务,它就会查找并使用它的服务.

为什么我需要了解并拥有所有那些“大”实现,例如aspectj或jboss AOP?我在这里想念什么?

解决方法

AOP的想法是将共同逻辑保持在一个地方(你的单身解决方案也解决了这个问题)并且是“不可见的”(透明的).使用AOP,您的日志记录代码甚至不是业务逻辑的一部分,它会在后台“注入”.

此外,它更具动态性 – 每次需要记录时都不需要调用单例服务.只需配置一次切入点(例如:“此包中的所有setter”),并将对所有现有代码和新代码应用日志记录.

此外,AOP更灵活,更强大.您可以询问AOP实现:“每次调用以”save *“开头的方法时都要启动一个事务,并且如果返回的方法返回客户从IllegalAgumentException抛出异常子类,则取一个参数”或“,再次调用该方法”.

AOP不仅仅是对通用逻辑进行分组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读