随笔分类 -  Spring

摘要:前言 JDK动态代理要求被代理的类必须实现接口,而生成的代理类也只能代理某个类接口定义的方法,这有很强的局限性。而CGLIB动态代理没有这个要求。简单来说,两者的区别有以下几点: Java动态代理只能够对接口进行代理,不能对普通的类进行代理(因为所有生成的代理类的父类为Proxy,Java类继承机制 阅读全文
posted @ 2020-10-01 09:25 CleverZiv 阅读(546) 评论(0) 推荐(0)
摘要:前言 前面我们进行了代理模式、静态代理、动态代理的学习。而动态代理就是利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象)。所以接下来我们有必要学习一下Java中的反射。 一、基础知识 1.1 反射是什么? 在讲反射之 阅读全文
posted @ 2020-10-01 03:34 CleverZiv 阅读(2803) 评论(1) 推荐(1)
摘要:前言 有一个Spring源码阅读环境是学习Spring的基础。笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法。读者可根据自己的需要自行选择。 方法一:搭建基础Spring项目 思路就是创建一个最基本的spring项目,通过下载源码,可以实现阅读源码的需求。优 阅读全文
posted @ 2020-09-23 22:54 CleverZiv 阅读(368) 评论(0) 推荐(0)
摘要:JDK动态代理 JDK动态代理核心是两个类:InvocationHandler和Proxy 举个栗子 为便于理解,首先看一个例子: 希望实现这样一个功能:使用UserService时,只需关注自己的核心业务逻辑的实现,对于日志功能的打印,由系统的公共服务完成。 首先定义一个业务类的接口:UserSe 阅读全文
posted @ 2020-09-20 22:41 CleverZiv 阅读(217) 评论(0) 推荐(0)
摘要:Spring AOP系列(一)— 代理模式 AOP(Aspect Oriented Programming)并没有创造或使用新的技术,其底层就是基于代理模式实现。因此我们先来学习一下代理模式。 基本概念 定义 代理模式,为对象提供一种代理,以控制对这个对象的访问。 角色 代理模式也称为委托模式,一般 阅读全文
posted @ 2020-09-13 19:30 CleverZiv 阅读(306) 评论(0) 推荐(0)