SSM框架整合
文章平均质量分 79
nuist__NJUPT
本硕计算机专业,硕士研究生在读,目前快手集团预入职员工,曾于阿里子公司哈啰出行等实习,已发SCI论文,拥有多项发明和实用新型专利,华为杯等多项国家级和省级竞赛获奖,喜欢编程,leetcode刷题狂,擅长Java、Python、JS、Matlab、C等编程语言,前端、后端、移动端都能写,算法也会一些,热爱运动,热爱生活!
展开
-
JavaEE开发之SpringMVC框架整合1
SpringMVC是处于Web层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端,SpringMVC就是途中的Controller部分。原创 2022-09-01 17:33:48 · 792 阅读 · 0 评论 -
JavaEE开发之Spring框架整合2(完结撒花)
随着时代发展,软件规模与功能都呈几何式增长,开发难度也在不断递增,该如何解决?Spring可以简化开发,降低企业级开发的复杂性,使开发变得更简单快捷随着项目规模与功能的增长,遇到的问题就会增多,为了解决问题会引入更多的框架,这些框架如何协调工作?Spring可以框架整合,高效整合其他技术,提高企业级应用开发与运行效率,综上所述,Spring是一款非常优秀而且功能强大的框架。...原创 2022-08-31 18:26:59 · 417 阅读 · 0 评论 -
JavaEE开发之Spring框架整合1
随着时代发展,软件规模与功能都呈几何式增长,开发难度也在不断递增,该如何解决?Spring可以简化开发,降低企业级开发的复杂性,使开发变得更简单快捷随着项目规模与功能的增长,遇到的问题就会增多,为了解决问题会引入更多的框架,这些框架如何协调工作?Spring可以框架整合,高效整合其他技术,提高企业级应用开发与运行效率,综上所述,Spring是一款非常优秀而且功能强大的框架。...原创 2022-08-30 17:15:28 · 1204 阅读 · 0 评论 -
SSM框架整合上传图片到服务器成功,浏览器却加载不出来问题
SSM框架整合上传图片到服务器成功,浏览器却加载不出来问题今天用SSM框架整合了一个购物网站,在上传文件到tomcat服务器后,文件上传成功,但是浏览器却不能显示图片,在浏览器查看源码,发现确实加载了图片,就是不能正常显示,我的问题是由于没有在springmvc-servlet.xml中配置,需要配置使得上传到服务器的文件的文件夹是有效的,我的文件夹名称为logos如果不配置,将会被自己配置的拦截器拦截。 <mvc:resources location="/logos/" mapping="/l原创 2021-10-16 19:48:12 · 1289 阅读 · 0 评论 -
SpringMVC框架的文件下载
SpringMVC框架的文件下载实现文件下载的方法有两种,一种是通过超链接下载,一种是利用程序编码实现下载。通过超链接下载固然简单,但容易暴露下载文件的真实位置,并且只能下载存放在Web应用程序所在的目录的文件,利用程序编码实现下载可以增加安全访问控制,还可以从任意位置提供下载的数据,可以将文件存放到Web应用程序以外的目录中,也可以将文件保存到数据库。利用程序实现文件下载需要设置两个报头:1-Web服务器需要告诉浏览器其所输出的内容的类型不是普通文本文件或HTML文件,而是一个要保存到本地的下载文件原创 2021-10-03 09:33:41 · 805 阅读 · 0 评论 -
SpringMVC框架的文件上传
SpringMVC框架的文件上传与下载SpringMVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过SpringMVC框架在原有文件上做了进一步的封装,简化了文件上传代码的实现,取消了不同上传组件上的编程差异。commons是Apache开源代码组织中的一个Java子项目,该项目包括文件该项目包括文件的上传、命令行处理、数据库连接池、XML配置文件处理等模块,fileupload就是用来处理基于表单的文件上传的子项目...原创 2021-10-02 15:11:35 · 307 阅读 · 0 评论 -
EL(表达式语言)与JSTL(JSP标准标签库)
EL(表达式语言)与JSTL(JSP标准标签库)在JSP页面可以使用Java代码来实现页面显示逻辑,但是网页中夹杂着HTML和Java代码,给网页的设计和维护带来困难,用户可以应用EL来访问和处理应用中的数据,也可以使用JSTL来替换网页中显示逻辑的Java代码,这样JSP页面就尽量减少Java代码的使用,方便以后的维护。表达式语言(EL)是JSP2.0中新增的,语法如下:${表达式}EL表达式类似于JSP表达式<%=表达式%>,EL中的表达式会被直接送到浏览器显示,通过page指令的is原创 2021-10-01 20:29:42 · 734 阅读 · 0 评论 -
SpringMVC的数据验证
SpringMVC的数据验证用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有web应用必须处理的问题。数据验证分为客户端验证和服务器端验证,客户端验证主要是过滤用户的误操作,通过JS代码实现,服务器端验证应用阻止非法数据的最后防线,通常在应用中编程实现。在大多数情况下,使用JS代码进行客户端验证包括3步:1-编写验证函数2-在提交表单时候调用验证函数3-根据验证函数判断是否进行表单提交通常仅有客户端验证是不够的,攻击者可能绕过客户端进行非法输入,这样可能引起系统异常,为保证数据的合原创 2021-10-01 13:34:10 · 392 阅读 · 0 评论 -
SpringMVC利用Spring自带验证框架验证获取错误信息出现乱码问题
SpringMVC利用Spring自带验证框架验证获取错误信息出现乱码问题在WEB-INF目录下创建文件夹resource,在该文件夹下编写错误消息属性文件errorMessages.properties后,需要在WEB-INF目录下编写配置文件springservlet.xml,在该配置文件中在配置文件中配置错误消息属性文件,告诉SpringMVC从该文件中获取错误消息,配置时候加上一行默认编码方式为GBK即可。 <!--SpringMVC想从属性文件中获取错误信息,需要配置一个Messa原创 2021-10-01 12:41:41 · 299 阅读 · 0 评论 -
SpringMVC拦截器在用户登录权限中的应用
SpringMVC拦截器在用户登录权限中的应用在开发一个网站时可能有这样的需求,某些页面只希望有几个特定的用户浏览,对于这样的访问权限,该如何实现呢?拦截器就可以实现上述需求。SpringMVC的拦截器和Java Servlet的过滤器类似,它主要用于拦截用户的请求并作相应的处理,通常应用在权限验证,记录请求日志信息,判断用户是否登录等功能。SpringMVC框架中定义一个拦截器需要对拦截器进行定义和配置,定义一个拦截器可以通过两种方式:一种是通过实现HandlerInterceptor接口或者继承H原创 2021-09-30 20:30:55 · 331 阅读 · 0 评论 -
SpringMVC的格式化转换器Formatter
SpringMVC的格式化转换器FormatterSpringMVC框架的Formatter和Converter一样,也是一个可以将一种数据类型转换成另外一种数据类型的接口,不同的是Formatter的数据源必须是String类型,而Converter源数据类型可以是任意的。因为在WEB应用中由http发送的请求数据到控制器都是以String类型获取,因此在Web应用中选择Formatter比选择Converter更合理。下面演示一个用户在信息采集页面输入数据,创建商品信息,控制器类接收请求参数,并调原创 2021-09-29 11:41:19 · 568 阅读 · 0 评论 -
SpringMVC类型转换器Converter
SpringMVCl类型转换器Converter在SpringMVC框架中需要收集用户请求参数,并将请求参数传递给应用的控制器组件,所有的请求参数都只能是字符串数据类型,SpringMVC框架必须将这些字符串转换成相应的数据类型。 一般JSP+Servlet需要开发者自己在Servlet中进行类型转换,并将其封装成对象,比较繁琐,对于SpringMVC框架而言,他必须将请求参数转换成值对象中各属性对应的数据类型,SpringMVC的Convert是一个可以将一种数据类型转换成另一种数据类型的接口,一般开发原创 2021-09-29 10:25:40 · 678 阅读 · 0 评论 -
SpringMVC中Controller接收请求参数的常见方式
SpringMVC中Controller接收请求参数的常见方式Controller接收请求参数的方式有很多种,有的适合get请求方式,有的适合post请求方式,有的两者都适合,开发者可以根据自己的需求选择适合的接收方式。1-通过实体Bean接收请求参数@Controller@RequestMapping("/user")public class UserController { @RequestMapping("/login") public String login(UserFo原创 2021-09-28 21:01:00 · 3953 阅读 · 0 评论 -
SpringMVC的controller学习
SpringMVC的controller学习与传统风格的控制器相比,基于注解的控制器有以下优点。1-可以在控制器类中编写多个请求处理方法,进而可以处理多个请求,减少控制器的数量,方便维护。2-基于注解的控制器不需要再配置文件中部署,仅需要使用RequestMapping注解一个方法进行请求。RequestMapping注解类型将请求与处理方法一一对应,可以使用累级别的注解,也可以使用方法级别的注解,推荐使用类级别的注解,可以将相关处理放到同一个控制器类中,方便维护。在控制器类中接收请求处理方法有很原创 2021-09-28 17:54:56 · 177 阅读 · 0 评论 -
SpringMVC基本原理学习
SpringMVC基本原理学习MCV的思想是将一个应用分成3部分,即模型,视图,控制器。让这三部分以最低耦合的方式进行协同工作,从而提高应用的可扩展性和可维护性。SpringMVC是一款优秀的基于MVC思想的轻量级web应用框架。model:用于存储数据以及处理用户请求的业务逻辑。view:向控制器提交数据,显示模型中的数据。controller:根据视图提出的请求,判断将将请求交给哪个模型处理,或将处理结果交给哪个视图显示。SpringMVC框架的工作原理如下:1-客户端请求提交到Dispa原创 2021-09-28 16:32:57 · 142 阅读 · 0 评论 -
Spring中使用jdbcTeplate向数据库插入中文为显示为?
Spring中使用jdbcTeplate向数据库插入中文为显示为?需要注意的是表中数据的编码方式需要配置为utf8,且在Spring的配置文件中需要配置数据源的编码方式为utf8注意:以下两种的区别。错误示范: <property name = "url" value = "jdbc:mysql://localhost:3306/spring?characterEncoding = utf8"/>正确示范: <property name = "url" value = "原创 2021-09-22 09:35:18 · 202 阅读 · 0 评论 -
SpringMVC统一异常处理
SpringMVC统一异常处理在SpringMVC应用开发中,不管是对底层数据库的操作,还是对业务层或者控制层的操作,都不可避免的会遇到各种可预知的和不可预知的异常需要处理。如果每个过程都要单独处理异常,那么系统的代码耦合度高,工作量大且不好统一,以后维护的工作量也很大,如果能将所有类型的异常从各层中解耦出来,这样既能保证相关处理过程的功能单一,又实现了异常信息的统一处理和维护。SpringMVC框架提供了3种异常处理方式:1-简单异常处理SimpleMappingExceptionResolver;原创 2021-08-14 18:43:42 · 466 阅读 · 0 评论 -
程序的国际化(Java与SpringMVC)
程序的国际化(Java与SpringMVC)国际化是商业软件的一个基本要求,因为当今的软件系统需要面对全球的浏览者。程序国际化的目的就是根据用户的语言环境的不同向用户输入与之相对应的页面,以示友好。Java的国家化思想:Java的国际化思想是将程序中的信息放到资源文件中,程序根据支持的国家以及语言环境读取相应的资源文件,资源文件是key-value,每个key是不变的,value随不同的国家/语言变化。Java程序的国际化主要通过两个类来实现。(1)java.util.Locale:用于提供本地信原创 2021-08-13 21:52:29 · 473 阅读 · 0 评论 -
SpringMVC的JSR303数据验证
SpringMVC的JSR303数据验证对于JSR303验证,目前有两个实现,一个是Hibernate Valicator,另一个是Apache BVal,本次采用的是Hibernate Validator,注意它和Hibernate无关,只是使用它进行数据验证。原创 2021-08-12 16:53:28 · 364 阅读 · 0 评论 -
SpringMVC的数据验证(Spring验证)
SpringMVC的数据验证(Spring验证)数据验证分为客户端验证和服务器端验证,客户端验证主要过滤正常用户的误操作,通过JavaScript代码实现;服务器端验证是整个应用阻止非法数据的最后防线,通过应用中编程实现。用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有web应用必须处理的问题,在SpringMVC中有两种方法可以验证输入数据,一种是利用Spring自带的验证框架,另一种是利用JSR303实现。客户端验证:在大多数情况下,使用JS进行客户端验证的步骤如下:1-编写验证函原创 2021-08-12 11:49:47 · 2028 阅读 · 1 评论 -
SpringMVC拦截器应用案例
SpringMVC拦截器应用案例本节通过拦截器来完成一个用户登录权限的web应用,具体要求如下:只有成功登录的用户才能访问系统的主页面main.jsp,如果没有成功登录而直接访问主页面,则拦截器请求拦截,并转发到登录页面login.jsp,等成功登录的用户在系统主页单击推出按钮,则回到登录页面。1-在IDEA中创建web应用ch13-2,在WEB-INF目录创建目录lib,在lib目录中导入SpringMVC相关jar包,并将lib添加为系统库。...原创 2021-08-11 09:50:21 · 329 阅读 · 0 评论 -
SpringMVC拦截器的执行过程
SpringMVC拦截器在开发一个网站的过程可能有这样的需求:某些页面只希望几个特定的用户浏览,对于这样的访问权限维护,应该如何实现呢?拦截器就可以实现这样的需求。SpringMVC的拦截器于Java Servlet的过滤器类似,它主要用于拦截用户请求并做出相应的处理,通常应用在权限验证,记录请求信息的记录,判断是否登录等功能。拦截器的内容需要掌握:1拦截器的定义;2-拦截器的配置;3-拦截器的执行流程。...原创 2021-08-10 18:22:34 · 955 阅读 · 0 评论 -
SpringMVC中JSON数据交互
SpringMVC中JSON数据交互SpringMVC在数据绑定的过程需要对传递的格式和类型进行转换,它既可以转换Spring等类型数据,也可以转换JSON等其它类型的数据,本次主要学习SpringMVC中JSON类型数据交互。JSON(JS对象标记)是一种轻量级的数据交换格式,与XML一样,JSON也是基于纯文本的数据格式,它有对象结构和数组结构两种数据结构。1-对象结构对象结构以“{”开始,以"}“结束,中间部分是0个或者多个英文,分割的键值对构成,key和value之间以英文“:”分割,其中k原创 2021-08-10 11:28:35 · 339 阅读 · 0 评论 -
SpringMVC数据绑定与表单标签库
SpringMVC数据绑定与表单标签库数据绑定是将用户参数输入值绑定到领域模型的一种特性。数据绑定的优点主要有两点:第一,不再需要将HTTP请求中的String类型转换成模型所需的类型。第二,当输入的验证失败时会重新生成一个HTML表单,无需重新填写输入字段。在SpringMVC中,为了方便高效地使用数据绑定,还需使用表单标签库。在SpringMVC中数据绑定有这样几层含义:绑定请求参数输入值到领域模型;模型数据到视图的绑定(输入验证失败时);模型数据到表单元素的绑定(如选项值被控制器初始化)原创 2021-08-09 18:15:50 · 997 阅读 · 0 评论 -
SpringMVC的类型转换和格式化
SpringMVC的类型转换和格式化在SpringMVC中需要收集用户请求参数,并将请求参数传递给应用控制器组件,因为所有的请求参数只能是字符串类型数据,但是Java是强类型语言,所有SpringMVC必须将这些字符串请求参数转换成相应的数据类型。SpringMVC提供了强大的类型转换和格式化机制,开发者可以使用SpringMVC内置的类型转换和格式化机制,也可以开发出自己的类型转换器和格式化转换器,完成字符串和各种数据类型之间的转换。SpringMVC框架的Converter<S,T>原创 2021-08-08 15:53:58 · 717 阅读 · 1 评论 -
SpringMVC基于注解的Controller
SpringMVC基于注解的Controller基于注解的控制器与传统风格的控制器的区别主要有两点。1-传统风格的控制器需要在SpringMVC配置文件中配置请求与控制器类的映射关系,而基于注解的控制器不需要在SpringMVC配置文件中部署映射,仅需使用RequestMapping注解类注解一个方法进行请求处理。2-传统风格的控制器只能编写一个处理方法,不够灵活,使用基于注解的的控制可以在一个控制器类中编写多个请求处理方法,从而减少控制器类的数量,方便以后维护。SpringMVC中最重要的两个注解原创 2021-08-07 15:46:11 · 778 阅读 · 1 评论 -
第一个SpringMVC应用
第一个SpringMVC应用MVC的思想是将一个应用分成三个部分,即Model,View,Controller让三个部分以最低的耦合方式进行协同工作,从而提高应用的可扩展性和可维护性SpringMVC是一款优秀的基于MVC思想的应用框架,它是Spring提供的一个实现WebMVC设计模式的轻量型Web框架模型:用于存储数据以及处理用户请求的业务逻辑视图:向控制器提交数据,显示模型中的数据控制器:根据视图提出的请求,判断将请求和数据交给哪个模型处理,将处理的结果集交给哪个模型显示.基于serv原创 2021-08-06 12:29:51 · 461 阅读 · 0 评论 -
MyBatis动态SQL
MyBatis动态SQLMyBatis提供了对SQL语句的动态组装,不再需要开发人员手动拼接SQL语句,MyBatis的动态SQL元素与JSTL或XML文本处理器相似,常用if,choose,when,otherwise,trim,where,set,foreach和bind等元素。准备工作:1-使用MySQL创建名为spring的数据库,在该数据库中创建用户表user,并录入相关数据,如下所示。2-用IDEA创建名为DynamicSQL的web应用,并在web目录下的WEB-INF文件夹下导入原创 2021-08-05 09:28:42 · 225 阅读 · 0 评论 -
MyBatis多对多级联查询
MyBatis多对多级联查询级联关系是数据库实体的概念,有3种级联关系,分别为1对1级联,1对多级联,多对多级联。级联的优点:关联数据十分方便。缺点:级联过多会增加数据库系统的复杂度,同时降低系统性能。如果表A引用了表B的主键,A表就是主表,B表就是父表,当查询表A数据时,通过A的外键将B的相关记录返回,这就是级联查询。例如,当查询一个人的个人信息,可以通过身份证号返回他的身份信息。其实,MyBatis并没有实现多对多级联查询,这是因为多对多级联可以通过两个一对多级联查询进行替换。例如:一个订单可原创 2021-08-04 09:41:19 · 959 阅读 · 0 评论 -
MyBatis一对多级联查询
MyBatis一对多级联查询级联关系是数据库实体的概念,有3种级联关系,分别为1对1级联,1对多级联,多对多级联。级联的优点:关联数据十分方便。缺点:级联过多会增加数据库系统的复杂度,同时降低系统性能。如果表A引用了表B的主键,A表就是主表,B表就是父表,当查询表A数据时,通过A的外键将B的相关记录返回,这就是级联查询。例如,当查询一个人的个人信息,可以通过身份证号返回他的身份信息。在实际生活中一对多级联关系有很多,例如一个用户可以有多个订单,而一个订单只属于一个用户。下面通过用户和订单的关系实原创 2021-08-04 09:06:12 · 1493 阅读 · 0 评论 -
MyBatis一对一级联查询
MyBatis一对一级联查询级联关系是数据库实体的概念,有3种级联关系,分别为1对1级联,1对多级联,多对多级联。级联的优点:关联数据十分方便。缺点:级联过多会增加数据库系统的复杂度,同时降低系统性能。如果表A引用了表B的主键,A表就是主表,B表就是父表,当查询表A数据时,通过A的外键将B的相关记录返回,这就是级联查询。例如,当查询一个人的个人信息,可以通过身份证号返回他的身份信息。一对一级联查询通过resultMap的字元素association处理一一对应关系,association包含四个原创 2021-08-03 19:58:01 · 969 阅读 · 0 评论 -
MyBatis映射器
MyBatis映射器MyBatis映射器主要内容有:核心配置文件,SQL映射文件,级联查询;MyBatis的强大之处在于SQL映射文件的编写。MyBatis的核心配置文件配置了许多影响MyBatis行为的信息,这些配置信息通常只会配置在一个文件中,不会轻易改变,另外MyBatis与Spring整合后,MyBatis的核心配置文件将配置到Spring配置文件中,因此,在实际开发中,开发者需要修改MyBatis核心配置文件的情况并不多。注意:MyBatis核心配置文件中的元素配置顺序不能颠倒,一旦颠倒,M原创 2021-08-01 10:10:13 · 450 阅读 · 0 评论 -
MyBatis与Spring的整合(Eclipse版本和IDEA版本)
MyBatis与Spring的整合通过Spring和MyBatis的整合,开发者只需要进行业务处理,不需要再进行SqlSession对象的创建,数据库事务处理等繁琐的代码,MyBatis整合Spring后方便了数据库访问操作,提高了开发效率。下面通过Eclipse编写一个实例演示MyBatis与Spring整合。1-创建一个名为ch6ss的Web应用,导入相关jar包到lib目录下。2原创 2021-06-27 20:46:59 · 615 阅读 · 1 评论 -
开发MyBatis入门程序(Elipse版本和IDEA版本)
开发MyBatis入门程序MyBatis本是Apache的一个开源项目ibatis,2010年这个项目由Apache Software Foundation迁移到Google Code,并改名为MyBatis.MyBatis是一个基于Java的持久性框架,MyBatis提供的持久性框架包括SQL Maps和Data Access Objects,它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或者注解用于配置和原始映射,将接口和Java的POJOs映射成数据原创 2021-06-25 20:22:50 · 570 阅读 · 2 评论 -
Spring声明式事务管理
Spring声明式事务管理Spring的声明式事务管理是通过AOP技术实现的事务管理,其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行目标方法之后根据执行情况提交或者回滚事务。声明式事务管理的最大优点是不需要通过编程的方式管理事务,因而不需要在业务逻辑代码中掺杂事务处理代码,只需要相关的事务规则声明便可以将事务规则应用到业务逻辑中,在通常情况下,在开发中使用声明式事务管理不仅因为简单,更主要因为纯业务代码不会被污染,极大地方便代码的后期维护。Spring声明式事务管理可以原创 2021-06-20 22:33:09 · 1596 阅读 · 1 评论 -
Spring中两种编程式事务管理
Spring中两种编程式事务管理在代码中显示调用beginTransaction,commit,rollback等与事务处理相关的方法,这就是编程式事务管理,当只有少数事务操作时,编程式事务管理才比较合理。编程式事务管理一般有两种:1-基于底层API的编程式事务管理2-基于TransactionTemplate的编程式事务管理基于底层API的编程式事务管理就是根据PlatformTransactionMananger,TransactionDefinition和TransanctionStatus原创 2021-06-18 08:36:02 · 1748 阅读 · 1 评论 -
Spring的数据库编程:jdbcTemplate
Spring的数据库编程:jdbcTemplate数据库编程是互联网编程的基础,Spring框架为开发者提供了JDBC模板模式,即jdbcTemplate,它可以用于简化很多代码,但是在实际工作中jdbcTemplate并不常用在工作中更多的时候使用Hibernate框架和Mybatis框架进行数据库编程使用Spring JDBC完成数据库编程主要使用到core包和dataSource包,core包是核心功能包,dataSource是访问数据源的工具类包如果使用Spring JDBC操作数据库,原创 2021-06-15 19:24:46 · 366 阅读 · 4 评论 -
两种方式开发AspectJ
两种方式开发AspectJAspectJ一个基于Java语言的AOP框架,建议开发者使用AspectJ实现AOP使用AspectJ实现AOP有两种方式1-基于XML配置开发AspectJ2-基于注解开发AspectJ基于XML配置开发AspectJ是指通过XML配置文件定义切面,切入点及通知所有这些定义都必须在aop:config元素内,aop:config:开发AspectJ顶层配置元素,配置文件beans下可以包含多个该元素<aop:aspect>原创 2021-06-14 16:33:05 · 508 阅读 · 0 评论 -
基于代理类的AOP的实现
基于代理类的AOP的实现在spring中默认使用JDK动态代理实现AOP编程,使用代理类创建代理是SpringAOP实现的最基本的方式根据Spring中通知在目标方法中的连接点的位置,通知可以分为下面6种类类型1-环绕通知:在目标方法执行前和执行后实施增强,可以用于日志记录,事务处理。2-前置通知:在目标方法执行前实施增强,可以应用于权限管理等功能。3-后置返回通知:在目标方法执行后实施增强,可以用于关闭流,删除临时文件等。4-后置最终通知:在目标方法执行后实施增强,不管是否发生异常都要执行该原创 2021-06-14 09:57:38 · 779 阅读 · 0 评论 -
Spring AOP:CGLIB动态代理
Spring AOP:CGLIB动态代理JDK动态代理必须提供接口才能使用,对于没有提供接口的类,只能采用CGLIB动态代理。CGLIB(code generation library)是一个高性能代码开源生成包,采用非常底层的字节码技术,对指定的目标类生成一个子类,并对子类进行增强。下面介绍一下CGLIB实现动态代理1-使用eclipse创建一个web应用ch15,并导入相关jar包2-在ch15的src目录下创建dynamic.cglib包,并在该包中创建目标类TestDaopublic原创 2021-06-11 22:15:08 · 413 阅读 · 0 评论