![](https://img-blog.csdnimg.cn/a4c1e2dbb5a844799d4870a39fede03f.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringBoot
文章平均质量分 60
SpringBoot笔记
张童瑶
现任某厂Java高级开发工程师,励志成为一名资深架构师,尽自己最大努力用有趣的方式让大家轻松汲取到底层原理知识!
展开
-
SpringBoot 整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮
创建对应的请求 --> 设置请求(添加规则,添加数据等) --> 执行对应的方法(传入请求,默认请求选项)–> 接收响应结果(执行方法返回值)–> 输出响应结果中需要的数据(source,status等)原创 2023-05-15 16:52:21 · 1331 阅读 · 1 评论 -
SpringBoot @Transactional事务详解
当Java中一个方法内有多次对数据库的增删改查等操作,并且这些操作之间有一些关联关系,如果方法执行一半出问题报错,后面的操作将不会执行,造成数据异常,但是使用了事务以后可以如果中途执行失败,可以回退到方法执行之前,保证数据不出问题。事务要么全部都被执行,要么就全都不被执行,如果有子事务提交失败,那么其他子事务对数据库的操作将被回滚,数据库回到事务提交前的状态;注解,默认会回滚所有事务,前提下,一定要主动抛出异常,否则事务是不会生效的。下面是异常类和子类关系图,@Transactional,不加任何参数时,原创 2023-03-30 16:22:56 · 3334 阅读 · 1 评论 -
SpringBoot 自定义Banner信息和参数
首先我们需要在项目的resource文件夹下新建新文件,文件名命名为banner.txt,我们需要自定义的图形就放在该文件里面。我们可以在该网站上面生成相应字体的图案复制网站生成的相关字体信息到banner.txt文件中。原创 2023-03-14 16:48:40 · 765 阅读 · 0 评论 -
SpringBoot Mysql存储emoji失败问题汇总
utf8不是utf-8,最多只支持3字节的字符,utf8mb4最多支持4个字节的字符,emoji表情是有四个字节的字符,所以存表情必须使用utf8mb4的字符集。:小于mysql5.5.3的版本不支持utf8mb4。原创 2022-11-18 17:15:52 · 368 阅读 · 0 评论 -
SpringBoot Session详解及做验证码发送
不得不说,Session相对保存一些数据比cookie安全,但是一般都用于保存验证码,session通俗的讲就是会话,数据都是保存在后端的,所以安全。原创 2022-07-18 15:18:39 · 556 阅读 · 0 评论 -
springboot 集成quartz
https//blog.csdn.net/weixin_38192427/article/details/121111677。原创 2022-07-15 11:48:59 · 742 阅读 · 0 评论 -
SpringBoot 获得编译后的指定文件和源码指定文件路径
首先,在你代码开发的过程中,SpringBoot获或者地址,基本上都是你的源代码的目录文件。代码编译过后,达成jar或者war,在获取或者地址时,是你编译后的目录文件,也就是当前运行的jar文件中的文件或者时当前在tomcat中的war文件目录。下面拿获取resource目录为示例演示。这种方式在本地测试是没有问题的,但是打成jar包之后不行。获取项目中的根绝对路径输出的就是:C:\Users\test\Desktop\TongYao其他的有很多获取路径的方式,抽时间给大家分享,还是本篇文章,如果没原创 2022-07-12 11:48:28 · 2206 阅读 · 1 评论 -
SpringBoot @SuppressWarnings注解的作用
我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受!@SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点。 如图所示:这里,有强迫症的老铁 就难受了!哈哈关键字用途allto suppress all warnings (抑制所有警告)boxingto suppress warnings relative to boxing/unboxing operations (抑制装箱、拆箱操作时候的警告原创 2022-07-11 10:13:20 · 408 阅读 · 0 评论 -
SpringBoot 中使用原生@Scheduling实现动态更新cron表达式
详情请看代码原创 2022-07-06 14:12:51 · 433 阅读 · 0 评论 -
SpringBoot static静态变量使用@Value注入方式
使用@Value 注解static类型@Componentpublic class MyConfig { @Value("${env}") private static String env; public static String getEnv() { return env; } public static void setEnv(String env) { MyConfig.env = env; }}使用原创 2020-05-12 14:50:19 · 1396 阅读 · 0 评论 -
SpringBoot 中实现配置和使用定时器_张童瑶的博客
简单两步,实现在spring boot中配置和使用定时器:1、在入口类中加入@EnableScheduling注解(即springboot启动类添加注解@EnableScheduling):@SpringBootApplication @EnableScheduling public class MySpringBootApplication { private static Logger logger = LoggerFactory.getLogger(MySpringBootAp原创 2020-05-21 17:54:28 · 1372 阅读 · 0 评论 -
SpringBoot cors跨域问题
新增俩两个配置类,亲测有效。1、CorsFilter.classimport org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * TongYao_Html >>原创 2020-09-26 09:35:30 · 136 阅读 · 0 评论 -
SpringBoot 设置@Value取不到值
有时这个tagvalue为NULL,可能原因有:1.使用static或final修饰了tagValue,如下:private static String tagValue; //错误private final String tagValue; //错误2.类没有加上@Component(或者@service等)@Component //遗漏class TestValue{ @Value("${tag}") private String tagValue;}3.类被new新原创 2021-03-04 14:52:35 · 4290 阅读 · 1 评论 -
SpringBoot test下面测试业务层方法
介绍大多数情况下,我们使用springboot是创建一个web项目,然后通过接口访问,但是也有特殊情况,比如线上跑着的web项目,有一些特殊的数据,需要经过计算导入到数据库,这个时候,我们可能需要原来的web项目中的一些service,dao才辅助操作,但是又不能在服务端新开接口。我们通过springboot的main方法执行这些操作。此时,service和到需要通过上下文获得。创建类,并复制下面代码import org.springframework.beans.BeansException;i原创 2021-03-10 18:56:22 · 2260 阅读 · 0 评论 -
SpringBoot 设置灵活定时任务
@Configuration //1.主要用于标记配置类,兼备Component的效果。@EnableScheduling // 2.开启定时任务public class test implements SchedulingConfigurer { @Autowired //注入mapper @SuppressWarnings("all") CronMapper cronMapper; @Mapper public interface Cr原创 2021-06-16 09:53:13 · 326 阅读 · 0 评论 -
SpringBoot 集成SpringSecurity 附代码
之前做过公司的SSO接入,也网上找了很多博客,结合自己的理解 梳理了一些,文章有点长,希望可以有耐心的看下去。一、Spring security 是什么?Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,原创 2021-07-15 09:28:35 · 146 阅读 · 0 评论 -
SpringBoot 内置Tomcat的所有配置选项
server. Port = xxxxserver. Address =server. contextPath =server. displayName =server. servletPath =server. contextParameters =server. useForwardHeaders =server. serverHeader =server. maxHttpHeaderSize =server. maxHttpPostSize =server. c原创 2021-10-14 12:06:12 · 1151 阅读 · 0 评论 -
SpringBoot Request header is too large 的问题解决
问题原因一个新增的接口,因为前端传入一段很长的JSON数组,导致了打印台报错错误描述java.lang.IllegalArgumentException: Request header is too large解决方案查阅了一下资料得到了一个答案请求头超过了tomcat的限值。本来post请求是没有参数大小限制,但是服务器有自己的默认大小。那就修改服务器的大小普通tomcat在server.xml中 <Connector connectionTimeout="2000原创 2021-10-14 12:12:48 · 2743 阅读 · 0 评论 -
SpringBoot 编码规范和命名规则
SpringBoot项目目录结构Java SpringBoot的学习应该是全方位的,写这篇博客的起因是由于一个小插曲。起初命名schemas下的数据库时,我想当然地将数据库的名字命名为file而被同学们纠正过来。细究下来,才发现SpringBoot项目目录结构是有命名规范的,编码和命名反映了对应模块的功能。一、规范的意义和作用编码规范可以最大限度的提高团队开发的合作效率编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护编码规范可原创 2021-10-18 15:01:07 · 6260 阅读 · 0 评论 -
SpringBoot + 指定包下所有控制器 + 添加统一前缀
https://my.oschina.net/u/3101282/blog/3022154需求源自最近公司要求提供一套APP2.0的接口,因为工期比较紧,来不及搭建一套新的项目,因此大家决定在原有的项目上直接提供对应的接口,所有的接口都放在指定的包下,对于这些接口直接通过在url前面添加v2版本标记来实现不同版本接口的访问。个人比较懒,且需求是对指定包下所有的控制器都添加指定的url前缀,因此就产生了该blog。整体思路是切入到SpringMvc初始化控制器方法映射的过程中,在spring建立ur原创 2021-10-18 15:32:23 · 2195 阅读 · 0 评论 -
SpringBoot 集成cas5.3 实现sso单点登录
什么是单点登录?单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。SSO单点登录访问流程主要有以下步骤:访问服务:SSO客户端发送请求访问应用系统提供的服务资源。定向认证:SSO客户端会重定向用户请求到SSO服原创 2021-10-20 13:53:15 · 3592 阅读 · 3 评论 -
SpringBoot 使用cas5.3 认证中心返回多属性配置
概述cas-server默认的可用信息只有用户名, 如果我还想知道他的角色类型等其它属性,这时候就需要做一些配置了。其它代码编写代码方式这里不做介绍,只做简单配置的方式介绍。配置操作1、cas-server项目自行根据CAS学习笔记(二)来搭建具体目录结构如下:2、application.properties 配置多属性,这里配置多一个数据表角色字段### CAS Server Context Configuration#server.context-path=/casserver.p原创 2021-10-22 15:16:39 · 1825 阅读 · 0 评论 -
SpringBoot 使用cas5.3 sso概念
作者叙述这套文章记录一步一步讲述如何详细将cas集成单点登录赶时间的朋友,可以去看看我这篇文章,速成:https://blog.csdn.net/u014641168/article/details/120864239学习更多知识的,可以看这篇文章合集......原创 2021-11-03 13:47:13 · 682 阅读 · 0 评论 -
SpringBoot 集成cas5.3 配置及管理JSON Service服务
叙述服务管理(Service Management)就是CAS服务管理工具允许CAS服务器管理员声明和配置哪些服务(Service,CAS客户端)可以在哪些方面使用CAS。服务管理工具的核心组件是服务注册表,它存储一个或多个注册服务。(作者叙述:简单来说,就是控制sso单点登录限制那个客户端使用cas认证中心进行认证)推荐使用JSON进行服务管理,所以本文只针对JSON服务管理讲解,更多服务像jpa等等请巡查其他资料。首先添加依赖包:<dependency> <group原创 2021-11-03 14:52:22 · 1511 阅读 · 0 评论 -
SpringBoot 集成cas5.3 使用JDBC认证并实现自定义加密算法
今天我们讲解一下CAS的认证方式,有JDBC认证、白名单(Whitelist)认证、黑名单(Blacklist)认证、Shiro认证、Rest认证。目前只针对JDBC认证讲解,更多抽时间更新。1、JDBC认证在前面我们设计了一个user表,表的字段为:字段名字段类型备注idbigintIDusernamevarchar用户名passwordvarchar用户密码expiredbigint过期字段,1为过期,需修改密码disabledbi原创 2021-11-04 09:14:40 · 1003 阅读 · 2 评论 -
SpringBoot 集成cas5.3 实现自定义认证策略
如果CAS框架提供的方案还是不能满足我们的需要,比如我们不仅需要用户名和密码,还要验证其他信息,比如邮箱,手机号,但是邮箱,手机信息在另一个数据库,还有在一段时间内同一IP输入错误次数限制等。这里就需要我们自定义认证策略,自定义CAS的web认证流程。自定义认证校验策略我们知道CAS为我们提供了多种认证数据源,我们可以选择JDBC、File、JSON等多种方式,但是如果我想在自己的认证方式中可以根据提交的信息实现不同数据源选择,这种方式就需要我们去实现自定义认证。自定义策略主要通过现实更改CAS配置,原创 2021-11-04 09:23:04 · 1393 阅读 · 0 评论 -
SpringBoot 集成cas5.3 实现客户端接入cas认证中心
前面我们讲解了很多关于cas认证中心的内容,今天我们说一说如何接入客户端创建一个springboot项目,添加依赖包<dependency> <groupId>net.unicon.cas</groupId> <artifactId>cas-client-autoconfig-support</artifactId> <version>2.3.0-GA</version></depende原创 2021-11-04 09:47:07 · 3005 阅读 · 0 评论 -
SpringBoot 集成cas5.3 通过Restful协议请求认证和退出
前面我们讲解了一些列的CAS文章,对CAS有了很多了解。今天我们讲解一个现在服务常用的REST协议来完成CAS的登录、认证,不需要我们手动登录跳转到CAS的登录页面就可以完成CAS的一些列操作。我们知道CAS认证支持包括多种协议去认证,包括CAS、OAuth、SAML1、SAML2、REST Protocol等协议,这里我们采用REST协议去获取TGT,然后获取到TGT后获取到ST,最后拿到ST后再去访问服务。一、认证服务首先我们加入Rest服务依赖:<!-- Restful support原创 2021-11-04 10:02:07 · 2587 阅读 · 4 评论 -
SpringBoot 集成AOP实现日志输出
开发接口系统中主要的一环就是日志输出,如果系统出现问题,日志能帮我们去定位问题,最常见的日志是调用方 所调用的IP 接口地址 对应方法 参数值 以及接口方接收到请求 所返回的参数。如果这需要在每一个controller层去写的话代码过于重复,于是就使用AOP定义切面 对其接口调用前后进行拦截日志输出。1、加入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId原创 2021-11-05 15:47:28 · 257 阅读 · 0 评论 -
SpringBoot 下配置日志
在 application.properties 配置文件中配置。如果在SpringBoot文件中使用日志功能,建议使用@Log4j2注解。日志级别:RACE < DEBUG < INFO < WARN < ERROR < FATAL日志命名说明:原创 2021-11-05 16:44:56 · 254 阅读 · 0 评论 -
SpringBoot 中配置Nacos配置中心
为什么需要配置中心不知道你是否遇到过以下情况:同一个项目有多套配置,分布在不同的配置文件中,需要修改时,要改多个文件,有时候会遗漏配置某天突然需要修改线上的一个配置,只能修改、提交,重启服务项目外包时,一些秘钥配置不想提供给第三方 这些问题都可以引入配置中心来解决配置中心一般提供什么功能统一管理不同环境、不同集群的配置配置修改实时生效(热发布)版本管理,每次配置的修改都会有版本记录,可随时回滚权限管理。配置中心可交给专人来管理,做到配置的权限管理 这些都是配置中心提供的最基础的功能,原创 2021-11-10 16:27:20 · 16055 阅读 · 3 评论 -
SpringBoot @ConfigurationProperties注解使用
yml配置文件nacos: swagger: swagger-name: 某某项目文档 swagger-url: http://www.baidu.com实体类//可以使用yml也可以是用properties中的配置@ConfigurationProperties(prefix = "nacos.swagger")//为什么带上data?理解为因为@ConfigurationProperties并不像@Value,只对封装后的方法赋值@Data//让@Autowired注原创 2021-12-10 10:07:05 · 1169 阅读 · 0 评论 -
SpringBoot 使用@RequestBody接收多个对象的解决办法
最近在写一个项目,使用了springboot+vue+axios。其中axiox请求Content-Type 为默认的 application/json,结果在接收参数时遇到麻烦,后台使用 @RequestBody 接收参数时无法接收多个对象!而且一个方法只能写一个@RequestBody注解,难道说,传过来的许多的参数只能用一个对象接收?这就很难受啊。面向百度编程——才知道:SpringMVC中@RequestBody是读取的流的方式, 在取 body参数时第一个参数取到后把request.getI原创 2021-12-13 11:42:11 · 9437 阅读 · 0 评论 -
SpringBoot 2.x应用配置actuator监控配置
作用: 用于管理,监控应用,暴露自身信息。减少应用系统在采集应用指标的开发量。1、添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>2、SpringBoot配置在application.properties原创 2022-02-18 10:35:28 · 647 阅读 · 0 评论 -
SpringBoot 以Jar方式运行项目
Springboot 和 web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。下面是jar的方式。在配有java环境变量的服务器下输入就启动这个Jar文件了通过这种方式,把此Jar上传到服务器并运行,就可达到部署的效果了 !Ctrl+C退出,关闭tomcat.........原创 2022-06-05 19:41:34 · 398 阅读 · 0 评论 -
SpringBoot 关于写入原生SQL几种方式
使用原生Connection链接使用注入JdbcTemplate模板原创 2022-06-07 09:39:00 · 1686 阅读 · 0 评论 -
Springboot 简单连接sqlserver
SpringBoot简单连接SQLSERVER原创 2022-06-09 12:02:57 · 6065 阅读 · 0 评论 -
Springboot 集成redis缓存
温故而时习之,复习回复之前使用springboot集成redis,怕太久忘了,所以记录本篇文章来重新温故一下。参考:https://www.cnblogs.com/kingstar718/p/10941958.html原创 2022-06-14 09:25:29 · 76 阅读 · 0 评论 -
SpringBoot @RunWith注解找不到
在这里,先说明我使用的版本SpringBoot 2.5.5spring-boot-starter-test 2.5.5只找到一个相似的,junit-jupiter,初步估计是junit的替代品。到百度一查,发现确实如此。那么就简单了,使用junit-jupiter,不再使用@RunWith()注解,也没有替代类,也就是需不要这个注解了。我们先来创建一个新的springboot项目,看截图。注意:这是新建的项目,没有任何改动。新建一个项目发现,新建的项目有一个自动生成的 JunitJupiterDem原创 2022-06-22 10:51:42 · 2073 阅读 · 0 评论