Spring Boot2.X
文章平均质量分 64
Spring Boot实战
寒咏哥
不忘初心,方得终始
展开
-
Spring Mvc获取请求参数的几种方式及自定义参数解析器
1. 获取表单提交参数或地址栏参数String javaboy = request.getParameter("name");2. huo原创 2021-06-20 21:07:09 · 632 阅读 · 3 评论 -
Spring Boot整合FreeMarker模板引擎
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在...原创 2021-06-20 20:03:11 · 326 阅读 · 0 评论 -
SpringBoot集成Thymeleaf模板引擎
一、Thymeleaf简介Thymeleaf是一个Java XML / XHTML / HTML5 模板引擎 ,可以在Web(基于servlet )和非Web环境中工作。它更适合在基于MVC的Web应用程序的视图层提供XHTML / HTML5,但它甚至可以在脱机环境中处理任何XML文件。它提供完整的Spring Framework。在Web应用程序中,Thymeleaf旨在成为JavaServer Pages(JSP)的完全替代品,并实现自然模板的概念:模板文件可以直接在浏览器中打开,并且仍然可以原创 2021-06-20 19:23:25 · 909 阅读 · 1 评论 -
Spring Boot使用事务
简介编辑语音在数据库系统中,事务是工作的离散单位,它可以是修改一个用户的账户余额,也可以是库存项的写操作。在单用户、单数据库环境下执行事务比较简单,但在分布式环境下,维护多个数据库的完整性就比较复杂。大多数联机事务处理系统是在大型计算机上实现的,这是由于它的操作复杂,需要快速的输入/输出和完善的管理。如果一个事务在多个场地进行修改,那就需要管理机制来防止数据重写并提供同步。另外还需要具有返回失效事务的能力,提供安全保障和提供数据恢复能力。[2]比如,我们去银行转账,操作可以分为下面两个环节...原创 2021-06-20 18:49:03 · 239 阅读 · 0 评论 -
Spring Boot整合Swagger
Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器。这个解释简单点来讲就是说,swagger是一款可以根据resutful风格生成的生成的接口开发文档,并且支持做测试的一款中间软件。二:为什么要使用swaager?2.1:对于后端开发人员来说 不用再手写WiKi接口拼...原创 2021-06-19 17:31:05 · 1360 阅读 · 0 评论 -
Spring Boot多环境配置
一、前言日常开发中至少有三个环境,分别是开发环境(dev),测试环境(test),生产环境(prod)。不同的环境的各种配置都不相同,比如数据库,端口,IP地址等信息。那么这么多环境如何区分,如何打包呢?本篇文章就来介绍一下Spring Boot中多环境如何配置,如何打包...原创 2021-06-19 16:28:33 · 571 阅读 · 0 评论 -
Spring Boot打包成war与jar的区别及启动方式
一、jar简介JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。简单来说原创 2021-06-14 17:38:27 · 2591 阅读 · 0 评论 -
Spring Boot配置跨域
一、跨域简介出于安全原因,浏览器禁止对当前来源之外的资源进行 AJAX 调用。例如,您可以在一个选项卡中拥有您的银行帐户,而在另一个选项卡中拥有 evil.com。来自 evil.com 的脚本不应该能够使用您的凭据向您的银行 API 发出 AJAX 请求——例如,从您的帐户中取款!跨域资源共享 (CORS) 是大多数浏览器实现的W3C 规范,它允许您指定授权的跨域请求类型,而不是使用基于 IFRAME 或 JSONP 的安全性较低且功能较弱的解决方法。二、处理跨域1. 局部允..原创 2021-06-14 16:25:09 · 427 阅读 · 0 评论 -
Spring MVC 之 RestTemplate
一、RestTemplate简介RestTemplate是Spring Web提供的轻量级HTTP Client,用于简化HTTP调用。注意:从 5.0 开始,RestTemplate它处于维护模式,只有很小的更改和错误请求才会被接受。请考虑使用WebClient,它提供更现代的 API 并支持同步、异步和流方案。二、集成RestTemplate1. 导入依赖集成RestTemplate只需要引入Spring Mvc依赖即可<dependency> <g..原创 2021-06-14 16:07:35 · 1050 阅读 · 0 评论 -
Spring Boot自定义注册 Servlet、Filter、Listener、Interceptor
一、前言在 Spring Boot 中已经移除了 web.xml ,如果需要注册添加 Servlet、Filter、Listener 为 Spring Bean,在 Spring Boot 中有两种方式: 使用 Servlet 3.0 API 的注解 @WebServlet、@WebFilter、@Listener 用来配置。 Spring Boot JavaConfig 注解配置 Bean 的方式来进行配置。 二、注册之前在使用 Servlet 时,需要在 Spring .原创 2021-06-14 15:10:04 · 372 阅读 · 0 评论 -
Spring Boot整合Mybatis和PageHelper
一、MyBatis简介MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)二、集成Mybatis添加POM依赖.原创 2021-06-14 12:57:47 · 1895 阅读 · 0 评论 -
Spring Boot国际化的使用
在项目中,很多时候需要国际化的支持,这篇文章要介绍一下springboot项目中国际化的使用1. 在resouces目录下创建下面几个文件2. 随便进入一个文件,添加下面代码3. 编辑application.properties, 添加下面配置## 国际化# 资源文件路径spring.messages.basename=i18n/messages4. 创建国际化配置文件,I18Config 代码如下:import org.springfram...原创 2021-06-13 23:06:43 · 489 阅读 · 0 评论 -
Spring Boot使用Aop
一、AOP简介在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。二、配置AOP新建一个SpringBoot项目,在pom文件中加入AOP依赖.原创 2021-06-13 23:05:41 · 270 阅读 · 0 评论 -
Spring Boot发送邮件
1. 导入pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>2. 配置收件人、发件人##端口号server.port=8888##这里根据自己的情况填写##邮箱服务器地址##QQ smtp.q.原创 2021-06-13 23:02:37 · 241 阅读 · 0 评论 -
Spring Boot使用Actuator监控
一、Actuator简介Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这些系统提供了非常好的仪表盘、图标、分析和告警等功能,使得你可以通过统一的接口轻松的监控和管理你的应用。原创 2021-06-13 23:00:03 · 486 阅读 · 0 评论 -
Spring Boot整合Spring cache缓存
一、Spring Cache简介Spring从3.1开始定义了一系列抽象接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们进行缓存开发。Spring Cache 只负责维护抽象层,具体的实现由你的技术选型来决定。将缓存处理和缓存技术解除耦合。Spring Cache接口为缓存的组件规范定义,包含缓存的各种操作集合,并提供了各种xxxCache的实现,如RedisCache,EhCacheCache,ConcurrentMapCache等;项目整合Spring Cach原创 2021-06-13 22:19:55 · 957 阅读 · 1 评论 -
Spring Boot自定义错误页面
默认的错误页面比较丑,所以我们需要需要我们自定义页面来处理一、错误页面1. 403页面页面图片<?xml version="1.0" encoding="UTF-8"?><svg width="790px" height="494px" viewBox="0 0 790 494" version="1.1" xmlns="http://www.w3.org/2000/svg"> <!-- Generator: Sketch 54 (76480) -原创 2021-06-12 16:26:03 · 660 阅读 · 0 评论 -
Spring Boot配置常量类
1.先引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> <原创 2021-06-06 20:56:58 · 2827 阅读 · 0 评论 -
Spring Boot配置线程池与异步注解@Async的使用
一、@Async注解简介Spring为任务调度与异步方法执行提供了注解支持。通过在方法上设置@Async注解,可使得方法被异步调用。也就是说调用者会在调用时立即返回,而被调用方法的实际执行是交给Spring的TaskExecutor来完成。二、配置与使用我们可以使用springBoot默认的线程池,不过一般我们会自定义线程池(因为比较灵活)@Configuration@EnableAsyncpublic class TaskExecutorConfig { /** .原创 2021-06-05 14:55:57 · 1177 阅读 · 1 评论 -
SpringBoot项目启动时让方法自动执行
在项目在启动完成后,加载相应的数据或者执行某个方法,主要分为下面几种方式:1. 实现ServletContextListener接口/** * 在初始化Web应用程序中的任何过滤器或servlet之前,将通知所有servletContextListener上下文初始化。 */@Overridepublic void contextInitialized(ServletContextEvent sce) { System.out.println("加载XXX...");}.原创 2021-06-05 13:47:32 · 625 阅读 · 0 评论 -
SpringBoot配置全局异常处理(同步、异步请求统一处理)
/** * 全局异常处理 * * @Author: hanYong * @CreateTime: 2019-09-19 */@RestControllerAdvice@Slf4jpublic class CatchException { /** * 是否是Ajax异步请求 * * @param request 客户端请求 * @return boolean */ public static boolean isAj...原创 2021-06-05 13:29:01 · 409 阅读 · 0 评论 -
Spring Boot整合Validation进行参数校验
一、Validator简介Bean Validation是Java中的一项标准,它通过一些注解表达了对实体的限制规则。通过提出了一些API和扩展性的规范,这个规范是没有提供具体实现的,希望能够Constrain once, validate everywhere。现在它已经发展到了2.0,兼容Java8。hibernate validation实现了Bean Validation标准,里面还增加了一些注解,在程序中引入它我们就可以直接使用。Spring MVC也支持Bean Validation原创 2021-06-05 13:14:38 · 1148 阅读 · 1 评论 -
SpringMVC请求参数示例
本次数据请求使用postman, postman下载地址:https://www.getpostman.com/一、页面跳转1. 页面跳转@Controllerpublic class IndexController { /** * 进入首页 * * @return 首页页面 */ @RequestMapping("/") public String index(){ return "/index";原创 2021-05-29 22:26:34 · 855 阅读 · 15 评论 -
Spring Boot整合SpringMVC
一、SpringMVC简介Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 WEB 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。二、整合SpringMvcpom.xml中导入Spr.原创 2021-05-29 22:26:22 · 1857 阅读 · 1 评论 -
Spring Boot使用JSP模板引擎
一、JSP简介JSP(全称JavaServerPages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入.原创 2021-04-29 22:57:15 · 457 阅读 · 0 评论 -
Spring Boot 整合Druid监控
一、Druid简介Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid可以做什么?1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。2) 替换DBCP和C3P0。Dr...原创 2021-04-29 22:16:52 · 798 阅读 · 0 评论 -
Spring Boot配置https协议
一、https协议简介HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性[1]。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方...原创 2021-04-29 21:38:21 · 787 阅读 · 1 评论 -
Spring Boot整合Devtools热部署
一、Devtools简介DevTools通过提供自动重启和LiveReload功能,使您更快、更轻松地开发Spring Boot应用程序。除此之外,它还将各种属性设置为更适合本地开发的值。此外,它允许您远程连接到您的应用程序,并仍然使用其大部分功能。在生产中运行时,不要使用DevTools。二、集成Devtools搭建一个简单的Spring Boot项目,然后引入Spring-Boot-devtools:<dependency> <groupId>or.原创 2021-04-29 21:18:05 · 495 阅读 · 0 评论 -
Spring Boot整合Lombok
一、Lombok简介Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。二、整合Lombok安装Lombok插件1.直接从http://plugins.jetbrains.com/下载,然后放...原创 2021-04-28 23:23:30 · 6798 阅读 · 7 评论 -
Spring Boot整合Log4j2 全局异步 yml配置
常用日志框架介绍java.util.logging:是JDK在1.4版本中引入的Java原生日志框架 Log4j:Apache的一个开源项目,可以控制日志信息输送的目的地是控制台、文件、GUI组件等,可以控制每一条日志的输出格式,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。虽然已经停止维护了,但目前绝大部分企业都是用的log4j。 LogBack:是Log4j的一个改良版本 Log4j2:Log4j2已经不仅仅是Log4j的一个升级版本了,它从头到尾都被重写了一..原创 2021-04-28 23:03:45 · 1933 阅读 · 5 评论 -
Spring Boot外置Tomcat启动
一、Spring Boot外置Tomcat启动Tomcat容器里面运行的是war,而spring boot默认生成的是jar包,所以需要先把jar包的打包方式改成war包<packaging>war</packaging>Springboot项目都内嵌Tomcat, 如Tomcat启动方式,则需要让启动类extends自SpringBootServletIntiializer,并重写confidence方法/** * AiManagerSystemAppl.原创 2021-04-28 23:03:03 · 505 阅读 · 0 评论 -
Spring Boot整合logback
一、logback简介Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集原创 2021-04-24 20:27:19 · 505 阅读 · 0 评论 -
SpringBoot banner更改
一、更改banner进入 banner制作页面,制作一个banner在项目resources下新建banner.txt文件, 并将自己制作的banner填充到banner.txt文件中,启动项目后就可以看到二、隐藏banner编辑启动配置勾选Hide banner即可保存后,直接启动,就会发现banner没有了...原创 2021-04-24 20:01:49 · 488 阅读 · 0 评论 -
Spring Boot 快速入门
一、Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。二、Spring Boot特点SpringBoot所具备的特征有:(1)可以创建独立的Spring应用程序,并且基于其M.原创 2021-04-24 19:34:23 · 501 阅读 · 0 评论