Spring动态代理

news/2024/11/17 18:49:12/

一、代理

代理(Proxy)是一种设计模式,提供了对目标对象的另外的访问方式。

代理意义:可以再目标对象代码实现的基础上,增强额外的功能代码。

二、静态代理

静态代理,编译时就已经确定下来了接口代理类被代理类,代理类与被代理类实现同一个接口,代理类持有一个被代理类对象,在代理类中对被代理类的方法进行调用,代理类中就可以加入一些其他的逻辑。

三、动态代理

动态代理,代理类是在程序运行时动态生成的,可以很方便的对被代理类的所有方法做统一的处理,其中又分JDK动态代理和CGLIB动态代理。

JDK代理是不需要第三方库支持,只需要JDK环境就可以进行代理,使用条件:实现InvocationHandler + 使用Proxy.newProxyInstance产生代理对象 + 被代理的对象必须要实现接口。
CGLib必须依赖于CGLib的类库,但是它需要类来实现任何接口代理的是指定的类生成一个子类,覆盖其中的方法,是一种继承。

Spring有两种代理方式:

    1.若目标对象实现了若干接口,spring使用JDK的java.lang.reflect.Proxy类代理。

    2.若目标对象没有实现任何接口,spring使用CGLIB库生成目标对象的子类。


http://www.ppmy.cn/news/977601.html

相关文章

spring学习笔记八

spring集合Collection注入 1、BookDao接口和实现类 public interface BookDao {void save(); } public class BookDaoImpl implements BookDao {private int[] array;private List<String> list;private Set<String> set;private Map<String,String> map;p…

vue之vue-keyboard组件

功能描述 业务键盘组件,提供给业务开发继承,它的父级组件为vue-base #方法 手工触发输入事件 change: function(text); 接受输入 accept: function(text); 显示屏幕键盘 show(e, current, layout); 隐藏屏幕键盘 hide: function(); 聚焦输入 focusInput($event, kbId, lay…

Linux入门 系统编程三 嵌入式开发 使用gcc制作静态库动态库,及调用库头文件应用

一、静态库的制作与使用 生成静态的主要是有5个步骤 1、编写源代码 2、将要编译成库的源文件编译成.o文件 3、使用ar命令创建静态库 4、调用库 5、测试 静态库的命名规则&#xff1a;lib开头。.a结尾。lib和.a中间的称作库名。lib库名称作库文件名 1.1 先写两个测试程序&…

并行计算-OPENMP(windows)

并行计算&#xff08;Parallel Computing&#xff09;是指同时使用多种计算资源解决计算问题的过程&#xff0c;是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题&#xff0c;即将被求解的问题分解成若干个部分&#xff0c;各…

idea如何解决导入的项目不是Maven工程(文件下面没有蓝色的方格)二

简介&#xff1a; Maven项目导入&#xff0c;idea不识别项目 解决方法&#xff1a; 选中pom.xml -- 右键 -- Add as Maven Project

supersqli

这个题&#xff0c;其实之前做过&#xff0c;这里只是换了个名字而已 输入1&#xff0c;提交后可以明显发现url发生变化 &#xff0c;可以猜测SQL注入 源码提示sqlmap是没有灵魂的&#xff0c;说明确实是sql注入 万能密码可以可以到&#xff0c;所包含的表 利用order by查看&a…

Spring Cache的介绍以及使用方法、常用注解

一、Spring Cache介绍 Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能. Spring Cache提供了一层抽象&#xff0c;底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存…

将pdf转换成word怎么转换?掌握这几个转换方法就够了

将pdf转换成word怎么转换&#xff1f;将 PDF 转换成 Word 文档是一个常见的需求&#xff0c;我们需要编辑 PDF 文件中的文字内容&#xff0c;但是 PDF 文件并不方便直接编辑。下面介绍几个转换方法。 方法一&#xff1a;使用迅捷 PDF 转换器 这是一款专业的 PDF 转换工具&…