spingboot
白不懂黑的静
纸上得来终觉浅 绝知此事要躬行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringJPA中多表关联查询并返回自定义dto带分页
如题:要实现SpringJPA中多表关联查询并返回自定义dto带分页功能,使用SpringJAP的查询时暂时没找到合适的方法,也不想强制去给实体间做关联,于是有如下代码: 一、建立自己需要返回的dto /** * 设备备品备件信息Dto数据对象信息类 * **/ @Data public class ZiYuanBeiJianDto implements Serializable { /** * 主键id<br> */ private Str原创 2021-07-14 16:38:05 · 3255 阅读 · 0 评论 -
SpringJPA 不支持MySQL 的ifnull函数
问题: 在我的一条更新语句中如下: @Modifying @Query(value = "UPDATE syzy_beiJianKuCun SET kuCunNum = ifnull(kuCunNum,0)-(?2) WHERE id= ?1",nativeQuery = true) void updateBeiJianKuCunById(String id, float xiaoHaoNum); 然后问题出现了,当字段为null时,数据库此字段死活不更新; 解决思路: 是不是语句有问原创 2021-07-14 16:26:49 · 2139 阅读 · 0 评论 -
JPA中为什么EntityManager 的注解要用@PersistenceContext
在使用SpringJPA的时候,看到如下代码 @PersistenceContext private EntityManager entityManager; 于是就有些好奇,这个@PersistenceContext是几个意思,如果是实体注入的话,统一采用 @Autowired可以吗?于是上网查了下,几乎所有的EntityManager都是采用这个注解的,就去找了找原因。 根据上面的描述,总结如下: @PersistenceContext是jpa专有的注解,而@Autowired原创 2021-07-14 15:18:18 · 9994 阅读 · 1 评论 -
谈谈Spring、 SpringMVC 、SpringBoot和 SpringCloud的区别
Spring Spring是一个“引擎”。 Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用。 Spring框架是一个大集合,也像一个大家族【可以到spring.io官网了解】。但家庭成员的基础都是基于Spring的IoC和AOP特性, IoC提供了依赖注入(DI)的容器,可谓是核心,AOP则提供了面向切面的编程方...原创 2021-06-27 17:07:01 · 8118 阅读 · 0 评论 -
浅谈spring为什么推荐使用构造器注入
【Spring】浅谈spring为什么推荐使用构造器注入 在开发过程中,我们习惯了Spring的注解@Autowired(至少我是习惯性认为这个是个标准写法。。。),后来在一篇文章中看到Spring官方是推荐使用构造器注入的,在此记录下。 一、前言 Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由Spring的IOC容器管理,将对象的依赖关系由Spring控制,避原创 2021-06-24 18:25:04 · 1411 阅读 · 0 评论 -
SpringBoot+Jpa无法生成数据库表
在使用SpringBoot+Jpa做项目的时候,发现有一个实体始终无法生成后台数据库表 @Data @Entity @Table(name = "SYFX_YANZHONGXDJ") public class FengXianhgyzcd extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @Id原创 2021-06-24 10:30:08 · 455 阅读 · 0 评论 -
2021-06-23
SpringBootJPA 一对多内存溢出问题 现象:在使用SpringBootJPA进行一对多的关联配置的时候,经常会报内存溢出的问题; 原因: 一:在两类中分别重写了 toString 方法,导致查询加载时两类在互相调用对方的toString,形成递归,造成内存溢出 二:使用了 lombok 插件中的@Data以及@ToString注解来标注实体类,让 lombok 来代替生成 gettet/setter 以及 toString,但是 lombok 在生成时会出现循环比较两类中的 hashcode,导致原创 2021-06-23 10:13:40 · 332 阅读 · 0 评论 -
SpringDataJpa自关联映射时出现StackOverflowError
现象: 在使用SpringDataJpa时,进行自关联时,发现存在子数据的记录会报内存溢出问题StackOverflowError 原因以及解决方案: 为了编写方便简洁,代码更加优雅,使用了 lombok 插件中的@Data注解来标注类,让 lombok 来代替生成 gettet/setter 以及 toString, 但是 lombok 在生成时会出现循环比较两类中的 hashcode,导致内存溢出。 解决方案: 不要使用 lombok ,自己手写 gettet/setter 以及 toStr原创 2021-05-20 09:57:29 · 466 阅读 · 0 评论 -
spring security 5 There is no PasswordEncoder mapped for the id “null“ 错误
最近在学习spring security,但是在设置客户端密码时,一直出现了一下错误提示,原来没有问题的,认真上次到现在这之间的时间动了什么,我想到了我把spring security 升级到了5.0.0,应该是这里的问题,那么总需要解决,回退也不是方法吧 仔细查找资料,发现了一下两篇资料,其实是一样的意思 https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#password-storage-updated h.转载 2020-12-13 11:01:06 · 378 阅读 · 0 评论 -
SpringBoot 用Thymeleaf模版返回页面出现404
现象 在搭建一个springboot框架前,突然发现访问控制层的json数据等都没问题,debug也能进入控制层的请求方法中,但是在返回到thymeleaf模板页面就报404 @RequestMapping(value = {"/","index"}) public String myIndex() { return "index"; } 尝试解决 以前也是如此搭建的,是没问题的,于是乎上网查了下,大概有如下两种说法: 第一种:控制层中的方法路径中的index 不原创 2020-12-12 23:53:28 · 4829 阅读 · 1 评论 -
springboot2.x集成Swagger3
目的: 在写这篇记录时,swagger的最新版本到了3.0.0了,在进行集成时,没注意,还按照2.0的集成,走了一些弯路,这里特记录下。 环境: 一个已经搭建好的干净的springboot框架,这个框架中我集成了mybatis. 什么是swagger? Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 当我们在后台的接口修改了后...原创 2020-12-10 23:16:48 · 1633 阅读 · 1 评论 -
Failed to introspect Class druid问题
在启动一个从git上下载下的springboot2.0项目后,启动时报如下错误 java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$PooledDataSourceConfiguration at org.springframework.boot.autoconfigure.condit原创 2020-12-05 16:47:33 · 1945 阅读 · 1 评论 -
SpringBoot+Mybatis集成pagehelper分页插件
目录 1、说明 2、配置pom文件 3、增加配置文件 4、在controller中增加分页查询请求 5、疑惑 1、说明 后台使用springboot2.0+Mybatis已经搭建好的环境,要在这个基础上实现后端数据查询分页。 分页当然也可以自己写,不过有现成的插件,只需要几步简单的集成就行,而且截止目前感觉还可以,因而有此篇记录。 2、配置pom文件 与其他springboot集成插件一样,先导入pageHelper依赖包,在pom.xml 的 dependencies标签中增加如.原创 2020-12-04 15:04:28 · 819 阅读 · 0 评论 -
SpringBoot自定义错误页面
使用Web应用时,在请求处理过程中发生错误是非常常见的情况.SpringBoot为我们提供一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面来展示异常内容.比如现在启动my-spring-boot项目,项目启动完成之后,在浏览器中随便输入一个访问地址,由于地址不存在,SpringBoot会跳转到错误页面,如图所示. 虽然Spring Boot为我们提供了默认的错误页面映射,但是在实际应用中,上图所示的错误页面对用户来说并不友好,我们需要自己来实现异常原创 2020-10-23 14:17:12 · 663 阅读 · 0 评论 -
浅谈redis缓存及缓存雪崩的处理
前言 现在随着redis应用的越来越广泛,以及高并发情况的出现,在大多数的springboot项目中,使用redis作为缓存,越来越普遍了,而伴随而来的,在项目中应用redis作为缓存,如何才能更好的使用,以及怎样避免雪崩,成为了项目架构越来越关心的事了。 缓存雪崩 先看看百度百科给的缓存雪崩的定义: 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。 举例来说,在一个高并发的接口上,我们使用了redis缓存进行数据的查询,redis的缓存的性能假设在12原创 2020-10-17 21:14:52 · 456 阅读 · 0 评论 -
Spring 注解实现Bean依赖注入之@Qualifier
@Qualifier:限定描述符,用于细粒度选择候选者; @Autowired默认是根据类型进行注入的,因此如果有多个类型一样的Bean候选者,则需要限定其中一个候选者,否则将抛出异常 @Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如何选择候选者,具体使用方式如下: @Qualifier(value = "限定标识符") 用通俗的语言来讲:就是spring使用@Autowired对bean进行注入时,正常情况下,类不会同名,则没有问题,但是在有同类型的类存在时,s原创 2020-10-14 16:47:31 · 1237 阅读 · 0 评论 -
SrpingBoot集成Redis
前言 本篇博客主要描述了基于SpringBoot2.0环境,集成Redis3.2 完成SpringBoot环境下的数据往Redis数据库中的持久化功能。 环境准备 1、springBoot环境搭建 搭建好一个SpringBoot环境,这里不细说,不懂的看springboot官网或找度娘,很容易实现。 2、安装Redis 我是在win10环境下安装的redis,直接下载redis 下载后解压,到期目录下,直接双击redis-server.exe即可启动 redis默认端口6379原创 2020-09-27 11:38:15 · 209 阅读 · 0 评论 -
SpringBoot集成SpringSession
目录 一、前言 1、为什么要用Spring-session 2、比较traditional-session方案和spring-session方案 3、JSR340规范与spring-session的透明继承 二、SpringBoot集成spring-session 1、导入依赖包 2、添加配置 3、添加请求测试类 4、运行代码,测试结果如下: 5、SpringBoot 整合 Spring Session 自定义配置介绍 三、小结 一、前言 在正式进行集成前,先说说spr..原创 2020-09-23 15:01:03 · 2343 阅读 · 0 评论 -
SpringBoot跨域问题
背景: 在前后端分离的框架体系下,经常会出现跨域问题,因而在后端需要配置其请求允许跨域访问 前提: SpringBoot框架。 新建 CorsConfig 类 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.serv原创 2020-08-31 16:54:25 · 198 阅读 · 0 评论 -
springboot集成Mybatis
目录 1、代码结构: 2、数据库建表脚本 3、在idea下新建springboot项目 4、建立好项目后,导入对应包 pom.xml 5、application配置文件 6、dao层接口及实现以及mapper.xml 7、service接口及实现 8、controller层接口 9、使用postMan测试 一个简单的springboot集成Mybatis入门示例,话不多说,直接上代码: 1、代码结构: 2、数据库建表脚本 CREATE TABLE `user` ( `id原创 2020-08-17 23:29:04 · 231 阅读 · 0 评论 -
测试工具---Jemeter
目录 jmeter介绍 意义: 1、下载,我的是windows环境 2、安装 3、运行 4、一个简单的压力测试 Jemeter是一款免费开源的纯java测试工具。先看看Jemeter中文网对其的介绍。 jmeter介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服.原创 2020-07-21 10:10:27 · 890 阅读 · 0 评论 -
SpringBoot @Bean注解
SpringBoot中,我们可以使用@Bean将自定义的一个类注入到spring容器中,让spring容器去管理bean,其相当于之前的配置文件中的<bean id="" class=""/> 直接贴代码,我们先建立一个配置类,类似之前的配置xml,然后在其中将自己的bean交给spring去管理。 package com.mayun.study.config; import com.mayun.study.bean.Monster; import org.springframework原创 2020-07-20 13:53:29 · 4513 阅读 · 0 评论 -
springboot开启定时器功能
场景: 在开发中,遇到让做定时任务很常见,而相比于传统框架,springboot中写定时任务显得格外的简单。 思路:2步走; 第一,开启springboot的定时任务功能,这个只需在入口文件类上加上注释 @EnableScheduling @EnableAsync //开启异步注解功能 @EnableScheduling//开启定时功能的注解 @SpringBootApplication public class SpringbootTaskApplication { public st原创 2020-06-11 17:25:33 · 718 阅读 · 0 评论 -
springboot开启异步注解功能
主要记录内容: 在springboot中如何开启异步注解功能,异步注解功能开启后,可以让在调用异步功能时,系统可以自动接着往下走,而不用一直在等待异步功能完成才可以接着走下一步任务。 前提:内容时基于springboot实现的。 一、service层代码:在service中定义了一个测试异步的代码:在方法上增加@Async注解 package com.demo.service; import org.springframework.scheduling.annotation.Async; imp原创 2020-06-08 14:22:05 · 1878 阅读 · 0 评论 -
springboot学习笔记---YAML配置文件之一个配置文件完成多环境的配置
Yaml文件的配置是springboot官方文档中推荐使用的一种配置格式,这里记录下其配置多环境的方法。 之前在properties格式的文件中,若是需要配置多个环境,我们可能需要配置application-dev.properties、application-test.properties等多个环境的文件,然后在各自的配置文件中写上不同的参数信息,然后在application.properties文件中利用spring.profile.active=test/dev 这样的一个结果是假如环境很多,可能会原创 2020-05-18 16:49:06 · 1173 阅读 · 0 评论 -
springboot笔记-----@ConfigurationProperties注解
这里只作为笔记,记录自己对此注解实践过的一些使用: 场景: 现实的开发过程中,经常会遇到一些配置信息,开发或测试是一套,到了客户现场部署时,才能对一些内容进行确认修改,或者一些常量信息需要在不定周期内进行一些简单的变更,可能只是变更一个日期,或者变更一些值,怎样才能花费最小的代价去修改这些呢。 这里利用了@ConfigurationProperties注解,初始化yaml文件中的属性配置,即利用了yaml文件可以定义一个对象,然后将对象的值注入到配置类的特点进行处理。 使用步骤: 一、 在配置文件原创 2020-05-18 16:33:16 · 369 阅读 · 0 评论 -
springBoot访问不到静态资源
背景: 初始搭建好springboot平台后,发现static目录下的js.css等静态资源无法访问,于是乎,做如下修改: 第一种方案: 直接修改yml配置文件: #thymeleaf thymeleaf: cache: false prefix: classpath:/templates/ check-template-locatio...原创 2020-03-30 16:52:20 · 18484 阅读 · 4 评论
分享