tnblog
首页
视频
资源
登录

AOP入门案例-AOP核心概念 01

2761人阅读 2022/7/19 16:48 总访问:1405705 评论:0 收藏:0 手机
分类: spring

一、AOP相关概念

Joinpoint(连接点):就是方法

Pointcut(切入点):就是挖掉共性功能的方法

Advice(通知):就是共性功能,最终以一个方法的形式呈现
Aspect(切面):就是共性功能与挖的位置的对应关系

Target(目标对象):就是挖掉功能的方法对应的类产生的对象,这种对象是无法直接完成最终工作的
Weaving(织入):就是将挖掉的功能回填的动态过程

Proxy(代理):目标对象无法直接完成工作,需要对其进行功能回填,通过创建原始对象的代理对象实现
Introduction(引入/引介)︰就是对原始对象无中生有的添加成员变量或成员方法

  • 平常开发的所有方法都叫做连接点



  • 共性功能所在的地方叫做切入点

  • 共性挖掉后叫做通知

  • 切入点与通知的连接处叫做切面

  • 具体挖的位置叫做通知类型



在运行的时候,运行的原始对象叫做目标对象,目标对象不能真正的运行出结果,我们要在它运行的时候把目标对象给它加进去
,这个过程叫做织入
织入对应东西的地方在哪里,是通过原始目标对应的哪个类代理出来的创建的一个代理类


二、AOP开发过程
我们一般只需要做切入点、切面、通知

三、xml案例

1、
1.1坐标

1.2、需要的基本类和配置文件

2、制作通知类,在类中定义一个方法用于完成共性功能

2.1.制作通知类,在类中定义一个方法用于完成共性功能


2.2、

代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        https://www.springframework.org/schema/aop/spring-aop.xsd">

    <!--3.开启AoP命名空间-->
    <bean id="userService" class="com.itheima.service.impl.UserServiceImpl"/>
    <!--2.配置共性功能成功spring控制的资源-->
    <bean id="MyAdvice" class="com.itheima.aop.AOPAdvice"/>
    <!--4 .配置Aop-->
    <aop:config>
        <!-- 5.配置切入点-->
        <aop:pointcut id="pt" expression="execution(* *..*(..))"/>
        <!--6.配置切面(切入点与通知的关系)-->
        <aop:aspect ref="MyAdvice">
            <!--7.配置具体的切入点对应通知中那个操作方法-->
            <aop:before method="function" pointcut-ref="pt"/>
        </aop:aspect>
    </aop:config>
</beans>



评价
没有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术