Spring AOP的基本原理及面向切面编程的实现
2017-08-10 10:49
621 查看
先引入动态代理,
作用:可以在现有方法之上添加代码,增加现有程序的功能。
讲好处!
1.将与业务无关的通用功能抽取出来,单独编写,
开发人员可以专注于业务逻辑的编写。
这些通用功能包括日志,权限管理,事务处理,异常处理等。
2.通用功能的增加与删除,可以通过配置文件进行配置。
3.是一种编程方式的革命!
AOP 基本原理(动态代理:具体什么是动态代理模式可以网上自己查查)
引入AOP:面向切面的编程
AOP=面向切面编程=Aspect Oriented Programming:
技术原理:动态代理
之前讲过的OOP
OOP=面向对象编程=Object Oriented Programming,这个OOP不适合为分散的对象引入公共行为,这时候就需要AOP了
AOP 类似jsp中的filter(过滤器),struts2中的interceptor(拦截器)
两种配置方式:注解配置,XML配置
我们学习在注解方式使用aop
面向切面编程的实现
这个功能应该加在哪个类的哪个方法上??是加在方法执行之前,还是之后??
1.如:(对于想加在那个类的那个方法上,看自己引入的类和方法了)
@Before("execution(public void net.xinqushi.service.impl.save(net.xinqushi.model.User))")
///意思就是在这个add()的方法执行之之前调用这个方法(扩展了这个程序的功能)
@AfterReturning("execution(public void net.xinqushi.service.Impl.UserServiceImpl.add(net.xinqushi.model.User))")
///意思就是在这个add()的方法执行之后调用这个方法(扩展了这个程序的功能)
2.spring中使用了一套面向aop编程的框架,叫做aspectj。
(1)修改spring配置文件
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
(2)支持注解
<aop:aspectj-autoproxy/>
注意:在aop的这个类中 需要引入@Aspect ///说明此类是面向切面编程类
完成上述两个步骤即可就完成了注解方式使用AOP
作用:可以在现有方法之上添加代码,增加现有程序的功能。
讲好处!
1.将与业务无关的通用功能抽取出来,单独编写,
开发人员可以专注于业务逻辑的编写。
这些通用功能包括日志,权限管理,事务处理,异常处理等。
2.通用功能的增加与删除,可以通过配置文件进行配置。
3.是一种编程方式的革命!
AOP 基本原理(动态代理:具体什么是动态代理模式可以网上自己查查)
引入AOP:面向切面的编程
AOP=面向切面编程=Aspect Oriented Programming:
技术原理:动态代理
之前讲过的OOP
OOP=面向对象编程=Object Oriented Programming,这个OOP不适合为分散的对象引入公共行为,这时候就需要AOP了
AOP 类似jsp中的filter(过滤器),struts2中的interceptor(拦截器)
两种配置方式:注解配置,XML配置
我们学习在注解方式使用aop
面向切面编程的实现
这个功能应该加在哪个类的哪个方法上??是加在方法执行之前,还是之后??
1.如:(对于想加在那个类的那个方法上,看自己引入的类和方法了)
@Before("execution(public void net.xinqushi.service.impl.save(net.xinqushi.model.User))")
///意思就是在这个add()的方法执行之之前调用这个方法(扩展了这个程序的功能)
@AfterReturning("execution(public void net.xinqushi.service.Impl.UserServiceImpl.add(net.xinqushi.model.User))")
///意思就是在这个add()的方法执行之后调用这个方法(扩展了这个程序的功能)
2.spring中使用了一套面向aop编程的框架,叫做aspectj。
(1)修改spring配置文件
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
(2)支持注解
<aop:aspectj-autoproxy/>
注意:在aop的这个类中 需要引入@Aspect ///说明此类是面向切面编程类
完成上述两个步骤即可就完成了注解方式使用AOP
相关文章推荐
- Spring AOP 面向切面编程 常见通知实现(前置,后置,环绕,异常)
- CGLIB实现AOP代理的测试类,与Spring分离,加深对面向切面编程的理解
- 黑马程序员--Spring Aop 面向切面编程,实现前置通知
- spring_由XML实现AOP面向切面编程_实现动态代理
- idea 实现Spring讲解(Ioc-控制反转)/Aop(面向切面的编程)
- Spring面向切面编程——Spring实现AOP方式——通过注解实现
- Spring面向切面编程——Spring实现AOP方式——通过Spring API实现
- Spring面向切面编程——Spring实现AOP方式——自定义类实现
- spring学习笔记7--使用spring进行面向切面的(AOP)编程(1)注解方式实现
- spring_由注解实现AOP面向切面编程_实现动态代理
- spring AOP面向切面编程的四种实现方式
- 关于spring.net的面向切面编程 (Aspect Oriented Programming with Spring.NET)-使用工厂创建代理(Using the ProxyFactoryObject to create AOP proxies)
- Spring AOP 面向切面编程相关注解
- 笔记——spring基本使用(控制反转IOC、面向切面编程AOP、声明式事务)
- [Spring]面向切面编程AOP【学习笔记】
- Spring--AOP--面向切面编程
- Spring之面向切面编程AOP(二)
- Spring 面向切面编程AOP
- Spring 的切面编程AOP如何实现 注入切面程序
- 什么是SpringAop? 面向切面编程-----思想