Spring Boot
文章平均质量分 83
大痴小乙
公众号 「大痴小乙」
展开
-
dubbo 2.5.3 升级记录 to 2.7.10
升级过程2.7.8,2.7.9,2.7.10,一路踩坑,直到2.7.10方才成功springboot版本2.3.10.RELEASEspringcloud版本Hoxton.SR11springcloudalibaba版本2.2.5.RELEASE。原创 2022-07-21 07:14:47 · 1523 阅读 · 0 评论 -
springboot 参数校验&异常处理
JSR-380规范是bean验证的java api规范,javaEE和javaSE的一部分,使用注解如@NotNull, @Min, and @Max,确保bean属性符合一定条件。JSR-380 需要java8或以上版本,利用java8中新增的特性,如注解类型,支持新的类原创 2022-07-06 20:10:41 · 1204 阅读 · 0 评论 -
Spring 的国内脚手架(https://start.aliyun.com/)
首先上图:使用 Spring 的 Java 开发者可以很方便的通过该界面创建一个基础的 Spring Boot 项目,并引入你所需要的各种 Spring Boot Starter 组件或者 Spring Cloud 的各种功能。除此之外,其实我们也可以将它用于 IDEA 的新建工程中,来提速原来的创建方式。操作很简单,只需要下面两步:第一步:先从菜单中选择 “File” -> “...原创 2020-04-22 14:08:26 · 13691 阅读 · 1 评论 -
Swagger|Knife4j 一键使用
在经历了N次繁琐重复的swagger配置之后(每一个项目都需要配置SwaggerConfig),萌生了引入一个依赖自动帮我实现配置的观念,于是乎,诞生了…自制,默认集成knife4j,界面更加友好,同时使用便捷,一键集成sringboot项目,同时支持一键开启网关聚合功能,使你解脱书写、配置API文档的烦恼…https。...原创 2020-04-06 20:24:53 · 4117 阅读 · 0 评论 -
SpringBoot2.X 遭遇 No converter found for return value of type: class java.util.LinkedHashMap
前几天,在项目上线时遭遇了 No converter found for return value of type: class java.util.LinkedHashMap 异常,异常的糟心唉。。。场景重现:return 基本类型木有问题,但是return 对象的时候就报出了该问题,网上答案汇总:1、缺失Jackson 依赖,如果有 spring-boot-starter-web依赖可...原创 2018-10-21 03:37:07 · 33383 阅读 · 11 评论 -
SpringBoot2.X (二十二):SpringBoot 多环境配置
SpringBoot 多环境配置一、 问题背景二、多环境配置三、测试一、 问题背景在项目开发中经常有开发环境、测试环境、预发布环境、生产环境,而且一般这些环境配置会各不相同,手动改配置麻烦且容易出错,如何管理不同环境的配置参数呢?二、多环境配置有不了解yaml 语法的可以参考这里: https://www.jianshu.com/p/97222440cd08在线properties 转 ...原创 2018-09-28 14:16:07 · 1890 阅读 · 0 评论 -
SpringBoot2.X (二十一):聊聊 Spring Boot Starters
Starter是SpringBoot中的一个新发明,它有效的降低了项目开发过程的复杂程度,对于简化开发操作有着非常好的效果。如果想要深入了解,可以看看这篇文章https://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/...原创 2018-09-26 13:58:05 · 1401 阅读 · 0 评论 -
SpringBoot2.X (二十): Spring Boot 自定义Intercepter
在SpringBoot1.X 中,使用拦截器, 一般会继承 WebMvcConfigurerAdapter 类,如下图所示: 但是在 SpringBoot2.X 中 ,WebMvcConfigurerAdapter 被deprecated , 更好的做法是 implements WebMvcConfigurer 1、拦截器统一管理package com.fxbin.demo.co...原创 2018-09-09 15:10:16 · 2491 阅读 · 0 评论 -
SpringBoot2.X (十九): Spring Boot 自定义Filter
Filter功能它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个 “servlet chaining” (servlet 链).一个Filter包括:...原创 2018-09-09 14:36:32 · 10452 阅读 · 2 评论 -
SpringBoot2.X (二十三):SpringBoot整合 Freemarker 模板引擎
一、Freemarker 简介简介:FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP...原创 2018-10-21 04:26:19 · 6103 阅读 · 4 评论 -
SpringBoot2.X (二十四):SpringBoot整合 Thymeleaf 模板引擎
Thymeleaf简介:Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中—HTML能够在浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。Thymeleaf的主要目标是提供一个优雅和高度可维护...原创 2018-10-21 05:20:18 · 2895 阅读 · 0 评论 -
SpringBoot2.X (二十五):SpringBoot整合 Mybatis + MySQL CURD 示例
文章目录工程结构图1、maven 依赖:2、yml 配置文件:3、核心代码:User.javaMyBatisConfig.javaUserController.javaUserService.javaUserServiceImpl.javaUserMapper.java4、测试1)、查询2)添加3)移除4)修改总结:话不多数,直接开始撸代码…工程结构图开始之前先放张工程结构图1、mave...原创 2018-10-21 17:17:48 · 6706 阅读 · 4 评论 -
SpringBoot2.X (二十六):SpringBoot整合 MybatisPlus + MySQL CURD 示例
文章目录配置说明:工程结构图1、maven 依赖:2、yml 配置文件:3、核心代码:User.javaMybatisPlusConfig.javaUserController.javaUserService.javaUserServiceImpl.javaUserMapper.java4、测试1)查询2)添加3)移除4)修改总结:配置说明:maven3.5.3SpringBoot 2.1....原创 2019-02-10 15:13:17 · 10466 阅读 · 3 评论 -
SpringBoot2.X (二十八): Spring Data JPA ——MySQL基本操作
文章目录前言1、创建数据库并建立 user 表2:添加maven依赖3、application.yml 配置信息4、 user 实体构建5、Repository 构建6、 Controller 构建前言以 Spring Boot2.1.3.RELEASE和 Spring JDBC 为技术场景,选用 MySQL 来做一个实例。环境要求:JDK 1.8Maven 3.0+IntelliJ ...原创 2019-03-07 22:53:28 · 3298 阅读 · 0 评论 -
SpringBoot2.X (二十七): Spring Data JPA 概述
文章目录一、引言二、JPA 是什么1、ORM 框架对比2、Spring Data 介绍3、Spring Data 操作特性一、引言你会发现,越来越多的人开始像Spring Data JPA 倾斜,虽然Mybatis 也以灵活著称,但是要维护复杂的配置,并且不是 Spring 官方的天然全家桶,还得做额外的配置工作, 有时还得做额外的封装… Spring Data JPA 底层以 Hiberna...原创 2019-03-03 20:04:31 · 1148 阅读 · 0 评论 -
实践基于redis的分布式锁实现
一、应用场景当多个机器(多个进程)会对同一条数据进行修改时,并且要求这个修改是原子性的。这里有两个限定:(1)多个进程之间的竞争,意味着JDK自带的锁失效;(2)原子性修改,意味着数据是有状态的,修改前后有依赖。二、实现方式分布式锁一般有三种实现方式:数据库乐观锁;基于version字段实现,乐观锁,两个线程可以同时读取到原有的version值,但是最终只有一个可以完成操作;基于Red...原创 2019-07-06 19:16:56 · 505 阅读 · 0 评论 -
SpringBoot2.X (十八): Spring Boot 启动原理
导言Spring Boot 大大简化了我们的开发配置,节省了大量的时间,确实比较方便。但是对于新手来说,如果不了解个中原理,难免会遇到一些坑。ok,废话不多说,我们进入正题:我们所有的SringBoot 项目都会看到以下这个类: import org.springframework.boot.SpringApplication;import org.springframework...原创 2018-07-15 23:52:44 · 2647 阅读 · 0 评论 -
SpringBoot2.X (十六): SpringBoot 全局异常配置
前言1、 默认异常机制2、自定义json格式异常响应3、自定义异常处理页面前言在日常web开发中发生了异常,往往是需要通过一个统一的异常处理来保证客户端能够收到友好的提示。 接下来我们介绍一下SpringBoot2.X 的异常处理机制1、 默认异常机制默认异常处理(SpringBoot 默认提供了两种机制,一种是针对于web浏览器访问的错误页面响应,...原创 2018-07-05 19:34:16 · 6922 阅读 · 0 评论 -
SpringBoot2.X (十七): war包方式启动与部署
1、在pom.xml中将打包形式 修改为war <packaging>war</packaging>2、修改SpringBoot启动类@SpringBootApplicationpublic class Application extends SpringBootServletInitializer { @Override protec...原创 2018-07-11 23:08:55 · 16982 阅读 · 0 评论 -
SpringBoot2.X (四):中文配置参考指南
注:此示例文件作为指导提供。请勿将其 全部内容 复制到您自己的应用程序中。^^^ #================================================= ================== #COMMON SPRING BOOT PROPERTIES #===========================================...原创 2018-05-18 08:13:05 · 9210 阅读 · 6 评论 -
SpringBoot2.X(五):动态Banner 尝鲜
Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜。配置依赖 使用 Spring Boot 2.X 首先需要将项目依赖包替换为 2.0.2 RELEASE,现在网站https://start.spring.io/也将 Spring Boot 2.0.2 设置为默认版本。<parent> &l原创 2018-05-20 23:02:28 · 2628 阅读 · 0 评论 -
SpringBoot2.X (六):SpringBoot 常用注解简单说明
@SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。 @SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解, 源码如下: @SpringBootConfiguration:表示Application作为...原创 2018-05-21 08:36:35 · 5114 阅读 · 0 评论 -
SpringBoot2.X (一):新特性简要说明
SpringBoor2.X 版本已经发布近两月了,恰好公司项目要做重构,我便怀着极大的好奇心,做 了一只小白鼠!@o@,期间也遇到了部分坑。。。北京时间 2018 年 3 月 1 日早上,如约发布的 Spring Boot 2.0 在同步至 Maven 仓库时出现问题,导致在 GitHub 上发布的 v2.0.0.RELEASE 被撤回。在问题修复后,官方重新发布了 Spring Boot...原创 2018-05-15 21:42:17 · 13103 阅读 · 2 评论 -
SpringBoot2.X (二):手工创建web应用
简介:使用Maven手工创建SpringBoot2.x应用 手工创建 : https://projects.spring.io/spring-boot/#quick-start官方推荐包命名接口,不要使用默认 defaultPackage 官方文档 : https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htm...原创 2018-05-15 22:26:06 · 5195 阅读 · 0 评论 -
SpringBoot2.X (七): Http接口之GET 请求
学习的目的是为了使用,接下来,我们将简单说明一下在SpringBoot2.X中Get 接口请求的应用。ok, 话不多说,我们直接上代码 1,首先来一个 测试性质的代码,打印所请求的参数 private final Map<String, Object> params = new HashMap<String, Object>(); /** ...原创 2018-05-23 22:07:49 · 3873 阅读 · 0 评论 -
SpringBoot2.X (八): Http接口之POST,PUT,DELETE 请求
POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。 举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交...原创 2018-05-23 22:38:01 · 6675 阅读 · 0 评论 -
SpringBoot2.x(九):目录文件结构讲解
承接我们上一节的示例代码,首先看下示例上节示例项目的目录结构 src/main/java:主程序入口 Application,可以通过直接运行该类来 启动 Spring Boot应用src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 static目录与templates目录,前者用于存...原创 2018-05-30 05:42:25 · 13671 阅读 · 0 评论 -
SpringBoot2.X (十):文件上传
我们利用 SpringMVC 中的 MultipartFile 来进行文件上传作业 前端代码(因为最近一直做的是前后端分离,前端写的有点丑,勿怪~~~):<!DOCTYPE html><html lang="en"><head> &amp原创 2018-05-30 06:37:51 · 11000 阅读 · 3 评论 -
SpringBoot2.X (十一):Jar包方式运行web项目
maven 打包mvn clean package打包成功之后,我们可以在 target 目录下看到该 项目jar包# 启动命令java -jar XXX.jar 直接启动,会看到报错,找不到入口,这是由于缺少了maven依赖 在 pom.xml 文件中 加入 如下依赖 <build> <plugins> ...原创 2018-05-30 07:16:02 · 5551 阅读 · 8 评论 -
SpringBoot2.X (十二):使用 devtools 热部署
当你每修改一个文件,甚至于修改一个符号而不得不重启项目经历漫长等待的时候,是否会感到无比的低效。。。 那么,希望接下来所介绍的东西会对你有所帮助,ok , 言归正传, 根据 官方文档的指引^@^ 我们这里使用的maven ,所以1、 在pom.xml 中引入 devtools 模块<dependencies> <dependency...原创 2018-05-31 08:28:57 · 5989 阅读 · 3 评论 -
SpringBoot2.X (十三) : SpringBoot设置支持跨域请求
现代浏览器处于安全的考虑,在http/https请求时必须遵守同源策略,否则即使跨域的http/https 请求,默认情况下是被禁止的,ip(域名)不同、或者端口不同、协议不同(比如http、https) 都会造成跨域问题。一、 前端解决方案 1. 使用 JSONP 来支持跨域的请求,JSONP 实现跨域请求的原理简单的说,就是动态创建 script 标签,然后利用 ...原创 2018-06-07 08:13:49 · 37601 阅读 · 10 评论 -
SpringBoot2.X (十四): @SpringBootTest单元测试
那么先简单说一下为什么要写测试用例 :可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 可以自动测试,可以在项目打包前进行测试校验 可以及时发现因为修改代码导致新的问题的出现,并及时解决好了,说道这里,应该明白测试的一个重要性了,,,接下来,我们正式进入SpringBoot2.X 的 测试实践中吧。。。1、引入相关依赖 <!--springboot程序测试依...原创 2018-06-08 08:33:22 · 105963 阅读 · 6 评论 -
SpringBoot2.X (十五): 测试进阶之MockMvc
SpringMVC测试框架基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试。接下来我们把集成web 环境测试 举例说明一下:1、MockMvcBuilders.webAppContextSetup(WebApplicationContext context):指定WebApplication...原创 2018-06-22 17:58:40 · 2820 阅读 · 0 评论 -
SpringBoot2.X (三):快速构建SpringBoot 项目的两种方式
上篇通过maven 项目手动构建的方式稍微有点麻烦,我们这里有两种快速构建的方式: 一、 通过 http://start.spring.io/ 在线构建 二、 通过IntelliJ IDEA 快速构建let’s go —-&amp;amp;gt;通过 http://start.spring.io/ 在线构建 选择group,artifact,dependenc...原创 2018-05-16 23:00:15 · 3140 阅读 · 0 评论