- 博客(348)
- 资源 (11)
- 收藏
- 关注
原创 SpringBoot-文件上传
Spring MVC 框架的 MultipartResolver 接口提供了对文件上传功能的直接支持,可以将上传请求包装成可以直接获取的文件数据,从而操作方便,它有以下两个实现类。文件大小阈值,当大于这个阈值时将写入到磁盘,否则存在内存中,(默认值 0 ,一般情况下不用特意修改)判断是否要延迟解析文件(相当于懒加载,一般情况下不用特意修改)最大支持文件大小,默认 1 M ,该值可适当的调整。是否支持 multipart 上传文件,默认支持。最大支持请求大小,默认 10 M。云存储(阿里云OSS,付费)
2025-04-09 11:00:00
607
原创 SpringBoot-事务控制
Spring 事务管理器的接口是:PlatformTransactionManager ,通过这个接口,Spring 为各个平台如 JDBC、Hibernate 等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。3) 当事务被提交给了 DBMS,则 DBMS 需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。
2025-04-09 09:00:00
1099
原创 SpringBoot-配置文件的值注入
1、第一种读取方式@Value2、第二种读取方式@ConfigurationProperties3、第三种读取方式 Environment。
2025-04-08 11:00:00
341
原创 SpringBoot-配置类的实现
1) 使用 @Configration 注解将该类声明为一个配置类。2) 在 appConfig() 方法上添加 @Bean 注解则会往 Spring 容器中添加一个名为 appConfig 的 Bean,该 Bean 即为方法的返回值。
2025-04-08 09:00:00
267
原创 SpringBoot-多环境配置
通常一个公司的程序可能在开发环境(dev)、测试环境(test)、生产环境(prod)中运行。4、在 application.yml 中指定,确定当前使用的是哪个环境,这边环境的值与application-dev.yml 中-后面的值对应,这是 SpringBoot 约定好的。1、在实际开发中,经常会有多种环境配置,例如开发环境、测试环境、生产环境等。在不同的环境下,配置有可能是不一样的,比如接口地址、数据库连接的配置信息等。application-dev.yml(开发环境)2、环境太多带来的问题。
2025-04-07 09:35:43
278
原创 SpringBoot-YML配置文件
1、YML 文件格式是 YAML (YAML Aint Markup Language)编写的文件格式,是 一个可读性高,用来表达数据序列化的格式。2、YAML 是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持 YAML 库的不同的编程语言程序解析。3、YAML 参考了其他多种语言,包括:C 语言、Python、Perl,并从 XML、电子邮件的数据格式(RFC 2822)中获得灵感。
2025-04-07 09:08:11
636
原创 整合模板引擎-Thymeleaf
1、视图解析:Spring Boot 默认不支持 JSP,但确实可以通过额外配置用上 JSP。不过强行用 JSP 已经脱离了 Spring Boot 易配置、快速开发的初衷。如果可能,应避免使用 JSP。所以需要引入第三方模板引擎技术实现页面渲染。2、Spring Boot 支持 FreeMarker、Groovy、Thymeleaf 和 Mustache 四种模板解析引擎,并对以上模板引擎做了自动配置支持。3、我们选择 Thymeleaf。
2025-04-06 09:00:00
658
原创 SpringBoot异常处理
1、在项目开发过程中, 不管是对底层数据库的操作过程, 还是业务层的处理过程, 还是控制层的处理过程, 都不可避免会遇到各种可预知的、 不可预知的异常需要处理。如果对每个过程都单独作异常处理, 代码耦合度会比较高,开发工作量也会加大而且不好统一, 这也增加了代码的维护成本。2、针对这种实际情况, 我们需要将所有类型的异常处理从各处理过程中解耦出来, 这样既保证了相关处理过程的功能单一, 也实现了异常信息的统一处理和维护。
2025-04-05 11:00:00
979
原创 数据响应与内容协商
客户端向服务器发送请求,服务器处理请求,并返回数据响应,服务器可以返回 一个具体的响应页面,也可以返回 JSON、XML、XLS 等格式的数据。
2025-04-05 09:00:00
991
原创 SpringBoot 拦截器
1、Spring MVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,主要用于拦截用户的请求并做预处理和后处理。通常应用在权限验证、判断用户是否登录、或者像 12306 判断当前时间是否是购票时间等功能上。2、Spring MVC 的拦截器(Interceptor)也是 AOP 思想的具体应用。3、拦截器的工作过程4、拦截器的使用场景举例1) 判断用户是否登录2) 权限验证1、拦截器链就是将拦截器按一定的顺序链接成一条链。
2025-04-04 11:00:00
1861
原创 SpringMVC 自动配置和静态资源访问
7、如果你想利用 Spring MVC 中的完全控制,你可以添加自己的@Configuration 注解为@EnableWebMvc,或者添加自己的@Configuration-annotatedDelegatingWebMvcConfiguration 中的 Javadoc 中所述@EnableWebMvc。4) webjars:除了前面提到的“标准”静态资源位置之外,如果它们以 Webjars 格式打包,则任何带有路径的资源都从 jar 文件提供。
2025-04-04 09:00:00
607
原创 Spring Boot 构建RESTful Web 服务
Spring Boot 为企业应用程序构建 RESTful Web 服务提供了非常好的支持。本章将详细介绍如何使用 Spring Boot 构建 RESTful Web 服务。REST 即表述性状态传递(英文:Representational State Transfer, 简称 REST)是 Roy Thomas Fielding 博士在 2000 年他的博士论文中提出来的 一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸性。
2025-04-03 11:00:00
1490
原创 SpringBoot自动配置原理
还记得曾经为了引入一个框架,而在 spring 的 xml 文件里面写一大堆的配置或者以注解的形式,定义一大堆的配置类,简直太繁琐,稍不注意还很容易出错。终于有一天,Spring Boot 出现了,简直就是天使般的存在,自从用上Spring Boot,腰也不疼了,头发掉的也少了。这一切都源于 Spring Boot 自动配置的特性。Spring Boot 遵循“约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用 xml 配置,让你的项目快速运行起来。
2025-04-03 09:00:00
1364
原创 SpringBoot 内置工具
Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启。SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查。断言是一个逻辑判断,用于检查不应该发生的情况。
2025-04-02 11:00:00
145
原创 Spring Boot 简介及快速搭建
SSH : Spring Struts2(MVC框架) Hibernate(ORM框架)SSM : Spring SpringMVC(MVC框架) MyBatis(ORM框架)SSH : Spring SpringMVC(MVC框架) Hibernate(ORM框架)SSM : Spring Boot + SpringMVC MyBatis(ORM框架)企业自己研发的框架(小众框架)
2025-04-02 09:00:00
805
原创 框架基础总结
XML 是 Extensible Markup Language 的缩写,即可扩展标记语言,是一种简单的数据储存语言,使用一系列简单的标记来描述结构化数据。在实际应用中,经常需要对 XML 文档进行各中操作。如在应用程序启动时去读取XML配置文件信息,或者把数据库中内容读取出来转换为 XML 文档形式,这些时候都会用到 XML 文档的解析技术。目前常用的XML解析技术有四种DOM基于XML文档树结构的解析适用于多次访问的XML文档比较消耗资源。
2025-04-01 14:19:35
595
原创 Spring Data JPA
1、都跟数据·库操作有关,JPA 是JDBC 的升华,升级版。2、JDBC和JPA都是一组规范接口3、都是由SUN官方推出的Spring Data JPA 是更大的 Spring Data 系列的一部分,可以轻松实现基于 JPA 的repositories。该模块处理对基于 JPA 的数据访问层的增强支持。它使构建使用数据访问技术的 Spring 驱动的应用程序变得更加容易。实现应用程序的数据访问层已经很麻烦了。必须编写太多样板代码来执行简单的查询以及执行分页和审计。
2025-04-01 13:51:50
937
原创 MyBatis-Plus的使用(Spring版)
Override@Override// 起始版本 3.3.0(推荐使用)// 也可以使用(3.3.0 该方法有bug请升级到之后的版本如`3.3.1.8-SNAPSHOT`)@Override// 起始版本 3.3.0(推荐使用)// 也可以使用(3.3.0 该方法有bug请升级到之后的版本如`3.3.1.8-SNAPSHOT`)
2025-03-31 15:36:31
1731
原创 Servlet
Servlet 是 Server Applet 的简称,译为“服务器端小程序”。Servlet 是 Java 的一套技术标准,规定了如何使用 Java 来开发动态网站。换句话说,Java 可以用来开发网站后台,但是要提前定义好一套规范,并编写基础类库,这就是 Servlet 所做的事情。
2025-03-31 10:13:15
952
原创 SpringMVC基于注解使用:异常处理
在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。那么,能不能将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护?在SpringMVC中拥有一套非常强大的异常处理机制,SpringMVC通过HandlerExceptionResolver处理程序的异常,包括请求映射,数据绑定以及目标方法的执行时发生的异常。
2025-03-30 14:00:00
319
原创 SpringMVC基于注解使用:国际化
在日常工作中,如果你的网站需要给不同语言地区的人进行查看,此时就需要使用国际化的基本操作,springmvc的国际化操作比较容易。I18nController.javalogin_en_US.propertieslogin_zh_CN.propertiesspringmvc.xml其实SpringMVC中国际化的处理非常简单,就是按照浏览器所带来的语言信息决定的。源码:通过图片能够发现,默认调用的是org.springframework.web.servlet.
2025-03-30 09:00:00
600
原创 SpringMVC基于注解使用:上传&下载
Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring MVC 上下文中默认没有装配 MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用 Spring 的文件上传功能,需现在上下文中配置 MultipartResolver。
2025-03-29 14:49:39
236
原创 SpringMVC基于注解使用:JSON处理
到目前为止我们编写的所有Controller的方法的返回值都是String类型,但是大家应该都知道,我们有时候数据传递特别是在ajax中,我们返回的数据经常需要使用json,那么如何来保证返回的数据的是json格式呢?当前端传来这样一个json数组:[{ id:1,name:xx},{ id:1,name:xx},{ id:1,name:xx},...]时,用List<E>接收。前端传来的是一个json对象时:{ id:1,name:xx},可以用Map来获取。"name": "管理员"
2025-03-29 14:29:57
778
原创 SpringMVC基于注解使用:类型转换&数据格式化&数据验证
在日常的企业开发需求中,我们输入文本框的内容全部都是字符串类型,但是在后端处理的时候我们可以用其他基本类型来接受数据,也可以使用实体类来接受参数,这个是怎么完成的呢?就是通过SpringMVC提供的类型转换器,SpringMVC内部提供了非常丰富的类型转换器的支持,但是有些情况下有可能难以满足我们的需求,因此需要我们自己实现,如下:自定义类型转换器User.javaMyConverter.javaUserController.javasuccess.jsps
2025-03-29 12:31:09
528
原创 SpringMVC基于注解使用:响应处理
首先来介绍一个业务场景,来帮助大家做理解,在实际工作中,有些时候我们在修改数据的时候可能只需要修改其中几个字段,而不是全部的属性字段都获取,那么当提交属性的时候,从form表单中获取的数据就有可能只包含了部分属性,此时再向数据库更新的时候,肯定会丢失属性,因为对象的封装是springmvc自动帮我们new的,所以此时需要先将从数据库获取的对象保存下来,当提交的时候不是new新的对象,而是在原来的对象上进行属性覆盖,此时就需要使用@ModelAttribute注解。这样就可以解决这个问题。
2025-03-29 11:59:22
678
原创 SpringMVC基于注解使用:处理请求
在之前的servlet中我们可以通过request.getParameter()来获取请求中的参数,但是在我们编写的SpringMVC的应用程序中,在具体请求的方法中并不包含request参数,那么我们应该如何获取请求中的参数呢?大家发现此时是找不到对应的mapping映射的,此时是因为DispatcherServlet会拦截所有的请求,而此时我们没有对应图片的请求处理方法,所以此时报错了,想要解决的话非常简单,只需要添加一个配置即可。如果需要在请求路径中的参数像作为参数应该怎么使用呢?
2025-03-29 11:27:09
601
原创 SpringMVC简单介绍及使用
Spring Web MVC是构建在Servlet API上的原始Web框架,从一开始就包含在Spring Framework中。正式名称 “Spring Web MVC,” 来自其源模块(spring-webmvc)的名称,但它通常被称为“Spring MVC”。简而言之,springMVC是Spring框架的一部分,是基于java实现的一个轻量级web框架。
2025-03-29 10:42:29
705
原创 SSM框架整合
在老期的项目中,一般都是使用ssm项目做开发的,虽然现在的主流开发是springboot来做开发,但是ssm的基本整合还是需要掌握的。
2025-03-28 19:44:04
437
原创 MyBatis分页插件
**** 自定义分页插件实现的简易版分页插件*/@Signature(type = Executor.class,method = "query" ,args ={MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class} ), // 需要代理的对象和方法。
2025-03-28 16:11:29
1002
原创 MyBatis基于XML的详细使用—缓存
MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。为了使它更加强大而且易于配置,我们对 MyBatis3 中的缓存实现进行了许多改进。默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。<cache/>映射语句文件中的所有 select 语句的结果将会被缓存。映射语句文件中的所有 insert、update 和 delete 语句会刷新缓存。缓存会使用最近最少使用算法(LRU, Least Recently Used)算法来清除不需要的缓存。
2025-03-28 15:09:56
976
原创 MyBatis基于XML的详细使用—动态sql
动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。
2025-03-28 14:04:49
452
原创 MyBatis基于XML的详细使用—高级结果映射
三种关联guan关系都有两种关联查询的方式,嵌套查询,嵌套结果*Mybatis的yanc延迟加载配置在全局配置文件中加入下面代码<settings>在映射文件中,元素和元素中都已默认配置了延迟加载属性,即默认属性fetchType=”lazy”(属性fetchType=”eager”表示立即加载),所以在配置文件中开启延迟加载后,无需在映射文件中再做配置。
2025-03-28 13:40:26
280
原创 MyBatis基于XML的详细使用-参数、返回结果处理
-1.声明resultMap自定义结果集 resultType 和 resultMap 只能使用一个。id 唯一标识, 需要和<select 上的resultMap 进行对应type 需要映射的pojo对象, 可以设置别名autoMapping 自动映射,(默认=true) 只要字段名和属性名遵循映射规则就可以自动映射,但是不建议,哪怕属性名和字段名一一对应上了也要显示的配置映射。
2025-03-28 10:25:13
257
原创 MyBatis的配置文件详解
在mybatis的项目中,我们发现了有一个mybatis-config.xml的配置文件,这个配置文件是mybatis的全局配置文件,用来进行相关的全局配置,在任何操作下都生效的配置。下面我们要针对其中的属性做详细的解释,方便大家在后续使用的时候更加熟练。MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。
2025-03-28 10:18:45
781
原创 Mybatis的介绍和基本使用
MyBatis 是一款优秀的持久层框架/半自动的ORM,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。1、与JDBC相比,减少了50%的代码量2、 最简单的持久化框架,简单易学3、SQL代码从程序代码中彻底分离出来,可以重用。
2025-03-27 19:40:28
830
原创 Spring声明式事务
把一组业务当成一个业务来做;要么都成功,要么都失败,保证业务操作完整性的一种数据库机制。在代码中直接加入处理事务的逻辑,可能需要在代码中显式调用beginTransaction()、commit()、rollback()等事务管理相关的方法-------------catch(){在方法的外部添加注解或者直接在配置文件中定义,将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。
2025-03-27 17:24:10
621
原创 SpringAOP的使用详解
spring对于通知方法的要求并不是很高,你可以任意改变方法的返回值和方法的访问修饰符,但是唯一不能修改的就是方法的参数,会出现参数绑定的错误,原因在于通知方法是spring利用反射调用的,每次方法调用得确定这个方法的参数的值。如果要com.example.service ==>com.example.service , com.example.* ==>com.example.service.impl就无法匹配。该切入点规则表示,切出指定包下所有的类中的query方法,要求无参,但返回值类型不限。
2025-03-27 11:20:33
709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人