随笔分类 - 03-SpringBoot相关
摘要:邮件的发送也是使用较多的,下面进行说明。 1.准备工作 这里使用QQ邮箱进行发送邮件,所以要先开启POP3/SMTP服务或IMAP/SMTP服务,登陆网页版QQ邮箱,在设置中找到账户,在下面开启服务即可。 1)新建一个SpringBoot的项目,导入mail依赖 <dependency> <grou
阅读全文
摘要:Thymeleaf是新一代的java模板引擎,类似于FreeMarker。官网:https://www.thymeleaf.org。 1.Thymeleaf入门案例 1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar
阅读全文
摘要:1.基本原理 spring security的核心是用户认证(Authentication)和用户授权(Authorization)。 用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。一般要求用户提供用户名和密码。 用户授权指的是验证某个用户是否有权限执行某个操作。在一
阅读全文
摘要:整合持久层就是和数据库打交道,这里以mysql为例。 1.准备工作 首先创建一个数据库和表,代码如下: create database test1 default character set utf8; use test1; CREATE TABLE `book` ( `id` int(11) NO
阅读全文
摘要:分模块就是将一个项目分成多个模块,即maven项目。 1.创建一个springboot的项目 第一步:选择springboot的项目 第二步:填写项目的相关信息,主要是下图的红框部分,改成自己的即可,这里就使用默认的,项目名是demo 第三步:选择所需要的依赖,这里就只添加web和lombok,其他
阅读全文
摘要:1.概述 Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swagger。而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网https://doc.xiaominfo.com/knife4j/documentation/。 2.实战演练 2.1环境
阅读全文
摘要:1.概述 1.1定义 Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。简单来说,它可以对API 自动生成在线文档,无需手动编写接口文档。另外其文档还支持在线测试,可直接对接口进行测试。 1.2注解 其主要依赖于注解,部分关键注解说明如下:
阅读全文
摘要:springboot的war想要在tomcat服务器上运行,必须添加配置。 1.继承并重写 让启动类继承SpringBootServletInitializer,并重写configure方法,关键代码如下 @SpringBootApplication public class UploadDemoA
阅读全文
摘要:1.基本思想 简单的说,就是引入了一些相关依赖和一些初始化的配置。主要是基于它的起步依赖和自动配置。 1.1起步依赖 把具备某些功能的坐标打包到一起,简化依赖导入。 比如导入了spring-boot-starter-web这个starter,那么和web相关的jar包都一起自动导入到项目中了,下图可
阅读全文
摘要:1.引言 当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@ 是配合 maven profile进行选择不同配置文件进行启动,可以避免修改文件,而在maven打包是指定使用哪个配置文件。 2.实战
阅读全文
摘要:1.去除默认的依赖并导入log4j2、lombok依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <!-- 引入
阅读全文
摘要:1.前言 对于SpringBoot的2.4.0以上的版本,对多文件的配置(yml方式)进行了更新,换了另一种方式,旧方式的配置都被划上一道线,也就是说被废弃了,不过还可以正常使用。而properties配置方式没有变化。 下面是2.4.3的版本依赖: <parent> <groupId>org.sp
阅读全文
摘要:1.前言 虽然SpringBoot已经提供了异常处理机制,但是这种方式不够灵活。可以根据其异常处理机制进行优化,自定义全局异常处理。 2.实战演练 2.1环境准备 SpringBoot版本:2.3.4.RELEASE pom.xml需要的依赖: <dependency> <groupId>org.s
阅读全文
摘要:1.前言 在springboot的项目中,如果需要通过项目方式访问本地磁盘的文件,不仅可以使用nginx代理的方式,还可以使用springboot配置的方式进行访问。 实例原因说明:由于上传的图片是要前端展示出来的,而磁盘里的图片有不能直接用本地路径直接访问,这时需要把本地的图片路径映射成网页能访问
阅读全文
摘要:需要读取resources目录下的文件,那么方法如下: 假设在资源目录下的template目录下有一个文件a.txt,获取到文件流的方式 InputStream stream = this.getClass().getClassLoader().getResourceAsStream("templa
阅读全文
摘要:对于前后端分离的项目,跨域问题十分明显。同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。解决办法很简单,在后台配置允许跨域即可: 新建一个配置类CorsConfig,设置其允许跨域,并注入到spring中。 package com.zys.demo.config; import org.s
阅读全文
摘要:1.@Value读取 在springboot项目中,如果要读取配置文件application.properties或application.yml文件的内容,可以使用自带的注解@Value。以properties方式为例说明,yml方式同上: 1.1单层内容 application.properti
阅读全文
摘要:springboot源码中的注解请详见源码分析。https://www.cnblogs.com/zys2019/p/13848141.html 1.@RequestMapping 1.1说明 用来处理请求地址映射,可用于类或方法上。用于类上时,表示类中的所有响应请求的方法都是以该地址作为父路径。 1
阅读全文
摘要:如果某个controller的某个接口的参数特别多,也可以使用map的方式来接收参数,接收之后使用get方法获取即可。 1)get请求方式,定义map接收方式 @RequestParam(required = false) Map map 2)post请求方式,定义map接收方式 @RequestB
阅读全文
摘要:当遇到特殊符号传递给后台时,如果不加处理,就会报400的错误,解决办法有两种。 1.前台解决 前台解决的方法就是把这些特殊符号转义,转义之后浏览器和后台都可以识别。 //对特殊字符进行转义 encodeURIComponent(str) js中使用encodeURIComponent即可进行自动转义
阅读全文