学习笔记——AOP-代理模式

学习笔记——AOP-代理模式

2023-01-18

一、AOP前奏-代理模式

1、手动实现动态代理环境搭建

(1)基于接口实现动态代理:JDK动态代理

(2)基于继承实现动态代理:Cglib、javassist动态代理

2、实现动态代理的步骤

(1)一个类:Proxy

①概述:Proxy代理类的基类(类似于Object)

②作用:newProxyInstance():创建代理对象

(2)一个接口:InvocationHandler

①概述:实现“动态织入效果”的关键接口

②作用:invoke(),执行invoke()实现动态织入效果

3、手动实现动态代理关键步骤

注意:代理对象与实现类(目标对象)是“兄弟”关系,不能相互转换

(1)创建类(为实现创建代理对象工具类)

(2)提供属性(目标对象:实现类)

(3)提供方法(创建代理对象)

(4)提供有参构造器(避免目标为空)

4、实例代码

(1)开启组件

<?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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

<!--    开启组件扫描-->
    <context:component-scan base-package="com.hh"></context:component-scan>
</beans>
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 学习笔记——AOP-代理模式