栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring AOP 一

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring AOP 一

目录

一、概念

1.1、面向对象编程1.2、面向方面编程1.3、AOL1.4、AOP理念

AOP解决的问题:织入面向切面编程 二、实例

一、概念 1.1、面向对象编程

oop:面向对象编程。
(oop,Object-Oriented Programming)Oriented:面对

1.2、面向方面编程

aop:面向方面编程
(aop,Aspect-Oriented Programming)Aspect:方面

1.3、AOL

实现AOP理念的语言称作AOL(Aspect-Oriented
Languange),AOL种类可以是java语言或AspectJ(扩展自Java)

1.4、AOP理念

AOP解决的问题:

如果需要在四个核心业务代码中,添加日志记录功能。
将添加日志记录的功能以面向对象的的方式实现并集成到整个系统中。系统中每个业务对象都需要加入日志记录。
我们就必须在四个核心业务代中都加入日志的内容,也许日志记录功能是完全相同的,但就是因为面向对象的设计让类与类之间无法联系(四个核心业务类无法联系),而不能将这些重复的日志记录代码统一起来。

public class Record {
      
    public  static  void  addRecord(){
        System.out.println("添加日志");
    }
}



public class A {
    public void function(){

        Record.addRecord();

    }
}


public class B {
    public void function(){

        Record.addRecord();

    }
}

织入

编程语言实现AOP理念,AOL实现AOP各个概念实体,最终都需要某种方式集成到系统实现语言所实现的OOP实体组件中。这个过程是织入(Weave)

面向切面编程

把日志记录的方法代码写在一个独立的类中
在运行时,动态地将代码切入到类的指定方法、指定位置上。

二、实例

@Repository
public class UserDao {
 public void addUser(){
 System.out.println("添加用户");
 }
 public void updateUser(){
 System.out.println("修改用户");
 }
 public void deleteUser(){
 System.out.println("删除用户");
 }
}

@Aspect
public class MyAspectLog {
    
@After(value="execution(* cn.xh.dao.UserDao.addUser(..))")
    public void log(){
        System.out.println("记录日志");
    }
}
在spring配置文件中加入:

    
 
    
    



切入点:addUser方法,即增强的方法。
连接点:可以应用通知进行增强的方法
我分不清切入点和连接点的区别。
织入:增强方法的过程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号