Java——spring_aop面向切面编程

关于spring的内容还包括——工厂方法 单例 适配器等 、
不至该文所叙述的内容

AOP(Aspect Oriented Program) 一种编程思想 spring_aop是实现这一编程思想的方式或者工具

在这一编程思想中把功能分为核心业务功能,和周边功能。
所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务
这一功能围绕的是以用户为主
所谓的周边功能,比如性能统计,日志,事务管理等等,也即开发人员所要做的维护工作

周边功能也就是切面,核心和周边是独立的,两者的编织(waving)才是面向切面编程。

这种编程思想,一般切面和核心功能是低耦合的、可选择的。
耦合就是两者的关系紧密程度。

一些关键字解释:
1、解耦,字面意思就是解除耦合关系。
2、在软件工程中,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。
3、数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.数据耦合联系简单,耦合度低,模块独立性好,模块间的影响最小,是最理想的一种耦合形式

除了功能代码在自定义的类中,重点也就是.xml文件里的 配置。
一、那么bean 是什么 为什么要用id name 以及在使用<aop 会提示要有namespace的声明。
bean可以理解为spring IOC的实例化对象,是个装注入对象的容器
而id 和name 是bean的属性,两者作用上一样,所以在命名该注入对象的名字的时候常会用id或name
1、id取值要求严格些,必须满足XML的命名规范。id是唯一的,配置文件中不允许出现两个id相同的。
2、name取值比较随意,甚至可以用数字开头。在配置文件中允许出现两个name相同的,在用getBean()返回实例时,后面一个Bean被返回。

Object object = joinPoint.proceed();

这一段代码就是将来与某个核心功能结合之后,用于执行核心功能的代码
利用bean在.xml文件里声明周边功能代码的对象和核心功能代码的
之后配合<aop:pointcut 以及<aop:aspect里的<aop:around 等等 总体放入 <aop:config即可

<aop:around   pointcut-ref=""  method=""/>

其中<aop:pointcut 里会有expression=""
该字符串里放的也就是描述满足条件的方法进行调用
即:execution(* package_name_next.*(..))
这表示对满足如下条件的方法调用,进行切面操作:
" * " 表示 返回任意类型
package_name_next.* 包名以 package_name_next 开头的类的任意方法
(…) 参数是任意数量和类型

这篇博客理解更全面(click me)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值