个人理解中的 Spring AOP
来源:互联网 发布:淘宝怎么找出关键词 编辑:程序博客网 时间:2024/05/21 13:00
一、前言:spring 是目前应用最广泛的web框架之一,不管你数据库用 mybatis 还是 hibernate,不管是struts还是 spring mvc 都会有 spring 的身影,ssh, ssm是目前使用较多的框架,现在spring 还出了 spring boot ,一个简化配置文件的框架,下面我们来聊聊Spring的核心Aop。
二、简介:
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
三、使用场景:日志、事务、异常处理....
四、个人理解的aop:
权限控制,比如有十个页面,每个页面都要检查添加、编辑、删除按钮权限,原始的写法可能是:
public ModelAndView toAffiche(HttpServletRequest request, Integer menuId) {ModelAndView model = new ModelAndView(); // 得到登陆用户 User user = (User) request.getSession().getAttribute("USER");// 根据登陆的用户 查询按钮权限PowerBean pb = new PowerBean();pb.setUserId(user.getUserId());pb.setMenuId(menuId);PowerBean queryButPower = powerServiceImpl.queryButPower(pb); // 绑定数据 model.addObject("butPower", queryButPower);model.setViewName("information/AfficheList");return model;}十个页面,那是不是要复制十次呢!有了aop就不用了,可以把查询按钮的权限提出来,放到 service 中,每次调用即可;
五、事务就用到了aop概念,下面介绍aop的几个概念:
1、切面(aspect):用来切插业务方法。
2、切入点(pointcut):业务类中指定的方法,作为切面切入的点。
3、连接点(joinpoint):是切面类和业务类的连接点,作为通知的参数来解析。
4、通知(advice):在切面类中,声明对业务方法做额外处理的方法。
六、aop与oop的区别:
OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。
AOP(面向切面编程)针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
- 个人理解中的 Spring AOP
- spring AOP个人理解
- Spring中的AOP理解
- Spring中的AOP理解
- spring的AOP个人理解和使用
- java spring aop 个人笔记理解
- 如何理解spring中的IOC和AOP
- 如何理解spring中的IOC和AOP
- 如何理解spring中的IOC和AOP
- 理解Spring中的IOC和AOP
- Spring面向切面编程AOP的个人理解
- aop个人理解
- AOP的个人理解
- 个人对aop的理解
- 关于spring中aop的理解和说明(个人理解)
- spring aop的理解
- Spring AOP 理解老
- Spring AOP概念理解
- Adobe Reader DC 启动时默认关闭右侧工具窗格的方法
- Oracle11g和oracle10g之间的导入/导出
- c++的点点滴滴
- Android中的沉浸式状态栏效果
- CSS:可继承的属性
- 个人理解中的 Spring AOP
- orcle创建表空间
- servlet请求转发和请求重定向区别
- 梦行monxin连锁超市便利店商城平台主要收入
- JQuery基础学习.
- 欢迎使用CSDN-markdown编辑器
- 2017移动应用的五大营销趋势!营销人必看!
- Android怎样添加nativebar
- 12_python_练习题——统计输入字符里面有多少