springboot
文章平均质量分 56
赖斯啊
这个作者很懒,什么都没留下…
展开
-
集成Mybatis Generator dao层代码生成
我们在使用mybatis开发的时候,需要去写表的基本的crud,这些咱们通常定义到dao层里面去,而mybatis generator可以帮我们把这件事情自动完成,大大节省时间并且可以规范dao层的代码。原创 2024-03-12 21:22:25 · 430 阅读 · 0 评论 -
MapStruct - 让java实体映射更容易
MapStruct 是一个 Java 注释处理器,用于为 Java Bean 类生成类型安全和高性能的映射器。它使您免于手动编写映射代码,这是一项繁琐且容易出错的任务。该生成器具有合理的默认值和许多内置类型转换,也可以通过配置实现一些特殊行为。与在运行时工作的映射框架相比,MapStruct具有以下优点:若要在两种类型之间创建映射,请声明如下所示的映射器接口:在编译时,MapStruct将生成此接口的实现。生成的实现使用纯 Java 方法调用来映射源对象和目标对象,即不涉及反射。默认情况下,如果属性在源和原创 2023-05-16 19:02:56 · 1481 阅读 · 0 评论 -
springboot 2.6.7 集成mapStruct 及找不到符号 变量log问题记录
最近接触一个新项目,出于对性能的考虑,写东西时做对象转换不使用BeanUtils来处理,手写对象转换代码挺费时间,于是引入对象转换神器mapstruct,记录下过程。原创 2023-03-02 21:45:53 · 579 阅读 · 0 评论 -
记一次springboot @Async处理导致后续request请求参数获取为空的坑
近期有个导入excel功能的需求,要求是异步处理导入。于是配置了线程池,使用@Async 异步执行导入方法。做完后发现一个现象,在导入后的接下来的一次请求,接口调用异常。经调试发现后端request未获取到参数(parameterMap大小为0),而实际前端有传值,再次调用同接口后正常。原创 2022-11-02 17:02:53 · 2740 阅读 · 0 评论 -
RabbitMQ系列08-springboot集成-TTL(消息)
配置照例,定义交换机、队列,绑定关系。import org.springframework.amqp.core.Binding;import org.springframework.amqp.core.BindingBuilder;import org.springframework.amqp.core.DirectExchange;import org.springframework.amqp.core.Queue;import org.springframework.context.anno原创 2022-05-29 18:03:49 · 148 阅读 · 0 评论 -
RabbitMQ系列07-springboot集成-TTL(队列)
概述当我们遇到业务场景,在规定时间内要处理完某业务,就可以用到TTL(time to live生存时间)。RabbitMQ 允许为消息和队列设置 TTL。消息 TTL 可以应用于单个队列、一组队列或逐个消息应用。配置照例,定义交换机、队列,绑定关系。队列设置参数"x-message-ttl"=5000(ms);import org.springframework.amqp.core.Binding;import org.springframework.amqp.core.BindingBuild原创 2022-05-29 17:43:21 · 271 阅读 · 0 评论 -
RabbitMQ系列06-springboot集成-topic方式
本篇实现topic方式。topic是在direct的基础上,强化路由模糊匹配,在topic交换机发布消息时带上路由key,绑定的队列路由key与消息发布的路由key模糊匹配上时会接收到消息。配置交换机、队列及绑定关系可以在消费端,这里实现一种在消费端注册队列和绑定的写法。生产端交换机import org.springframework.amqp.core.*;import org.springframework.context.annotation.Bean;import org.sprin原创 2022-05-28 13:04:21 · 248 阅读 · 0 评论 -
RabbitMQ系列05-springboot集成-direct方式
接上篇RabbitMQ系列04-springboot集成-fanout方式,本篇代码实现direct方式。direct是在fanout的基础上,增加路由过滤,在Direct交换机发布消息时带上路由key,绑定的队列路由key与消息发布的路由key相同时会接收到消息。生产端配置交换机、队列及绑定关系import org.springframework.amqp.core.*;import org.springframework.context.annotation.Bean;import org原创 2022-05-28 10:28:39 · 181 阅读 · 0 评论 -
RabbitMQ系列04-springboot集成-fanout方式
建springboot工程主要引入springweb 及rabbitmq。pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </depe原创 2022-05-27 22:12:56 · 160 阅读 · 0 评论 -
注入openfeign 调用服务异常,找不到XXXXXFallbackFactory
在一个模块中使用openfeign 调用服务时,工程启动时抛出找不到XXXXXFallbackFactory的异常。经排查,该类并没有注入到容器中。最终发现是application启动类放置的层级在openfeign服务类包的下层级导致的,将application启动类移动到上个层级解决。application启动类默认扫描该类所在包。注意需涵盖需扫描的路径,注意该类的位置,如下在com.xxx包下,则该包下都默认扫描;可以使用注解,指定扫描路径。@ComponentScan(.原创 2022-03-09 20:18:54 · 1650 阅读 · 0 评论 -
解决19位Long型id传递到web前端丢失精度问题的方法
问题:后端使用雪花算法生成19位Long型id,实体为Long型,查询到web前端时丢失精度。原因:Long型数据在web前端接收时会转换丢失精度。解决方法:传递String型数据。实体字段写成String;json解析时序列化将Long型数据转换成String类型传递;1.jackson 在指定字段上注解@JsonSerialize(using = ToStringSerializer.class),大量实体都是这种定义时不建议用该方式;2.jackson全局配置,定义ObjectMap.原创 2022-02-17 20:40:01 · 1762 阅读 · 0 评论 -
springboot 可重复读取请求参数处理
增加请求子类,处理读流及流的字节数组保持,处理获取流方法原创 2021-10-02 22:18:20 · 547 阅读 · 0 评论 -
springboot 集成 jwt 进行token校验
依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.18.0</version> </dependency>编写一个工具类,备用/** * 管理员表(Sy原创 2021-09-06 21:53:02 · 769 阅读 · 1 评论 -
springboot 集成 springboot data jpa
一、前言Spring Data JPA 为 Java Persistence API (JPA) 提供Repository支持。它简化了需要访问 JPA 数据源的应用程序的开发。二、依赖Spring Boot 会选择最新版本的 Spring Data 模块。<dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactId>原创 2021-09-01 22:29:23 · 195 阅读 · 0 评论 -
springboot 使用pagehelper 分页
添加依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>最新版本</version></dependency>配置拦截器插件特别注意,新版拦截器是 com.github.pagehelper.PageInterceptor。 com原创 2021-07-28 20:11:37 · 1006 阅读 · 0 评论 -
jenkins 定期自动拉取svn代码,maven打包,脚本运行开启后台服务
背景小公司,作为开发,每天都去给实习生开启一个服务。日子久了感觉有点浪费时间,于是花些时间研究Jenkins,实现自动更新部署服务。环境windows 系统 ; 后台框架是springboot ,使用maven打包成jar再用脚本启动。jenkins配置准备工作安装直接略过;默认插件安装;必要的几个插件,如果没有安装的话,从插件管理中去下载安装。Maven Integration : maven插件,用于编译打包。Subversion : svn插件,用于从svn服务器自动更新工程。原创 2021-07-01 12:21:43 · 1107 阅读 · 1 评论 -
后端接口传输大写开头字段未序列化传递
描述前后端分离;后端框架springboot;接口传输实体有字段为大写开头。前端接收转换的接收实体未获取到该字段值。检查过程1.前端接收字符串中该字段已转换成首字母小写,因此解析至实体未获取到值。2.后端查询获取对象值正常,应该是在响应体序列化时转换更改。解决方式给后端传输实体增加@JsonAutoDetect注解,可见性设置为全部可见。检查前端接收,发现在原来基础上多出来首字母大写的键值,前端解析获取值正常。其他在不变更传输实体的前提下,前后端序列化没对应上导致的问题。也可从前端解析角原创 2021-06-30 10:54:51 · 309 阅读 · 0 评论 -
springboot集成activiti6 ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
解决方案:在启动类application上加上@SpringBootApplication(exclude = { org.activiti.spring.boot.SecurityAutoConfiguration.class })原创 2021-02-21 17:24:01 · 249 阅读 · 0 评论 -
项目(一)springboot多模块工程(12)springboot run完成前执行监听(实现ApplicationRunner或CommandLineRunner)
前言CommandLineRunner多个监听排序代码地址前言如果需要在springboot 启动时执行一部分自己的业务,就要用到ApplicationRunner或CommandLineRunner,实现这两个中任意接口即可。CommandLineRunnerimport org.springframework.boot.CommandLineRunner;import org.springframework.core.annotation.Order;import org.springfr.原创 2020-06-26 11:30:37 · 377 阅读 · 0 评论 -
项目(一)springboot多模块工程(11)自定义校验参数注解,及参数校验失败统一处理
自定义校验参数注解前言校验过程自定义校验注解实现校验器参数校验失败统一处理测试代码地址前言前面已经记录了参数校验注解的简单使用,有很多常用的参数校验注解,但是在实际项目中可能遇到各种特殊的校验要求,这里就必须自己自定义校验参数。比如实现电话号码校验。校验过程Spring会为Controller添加一个拦截器, 拦截器叫 : MethodValidationInterceptor当请求数据时, 会经过拦截器, 拦截器判断 Çlass 或者 方法上是否标记有 Validated 注解当请求被AOP原创 2020-06-25 23:18:40 · 568 阅读 · 0 评论 -
项目(一)springboot多模块工程(10)JSR-303实现请求参数校验
这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-06-18 23:00:18 · 202 阅读 · 0 评论 -
项目(一)springboot多模块工程(9)使用MockMvc做单元测试
单元测试直接上代码要点直接上代码import static org.hamcrest.Matchers.equalTo;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.spr原创 2020-06-17 22:20:36 · 566 阅读 · 0 评论 -
项目(一)springboot多模块工程(8)控制器(controller)全局异常处理
控制器全局异常处理简介范围注意简介@ControllerAdvice注解类,controller发生的异常可以该类指定对应处理。范围默认情况下,@ControllerAdvice注解类中的方法全局应用于所有controller。这个注解有几个可选设置的属性,用于缩小作用范:属性说明valuevalue =“ com.chan.hen”,同basePackagesbasePackagesbasePackages=“ com.chan.hen”,同value,指定作用包范原创 2020-06-16 22:59:51 · 977 阅读 · 2 评论 -
springboot 2 请求返回乱码解决
问题解决方法问题 @RequestMapping(value = "encodeTest",method = RequestMethod.GET) public R encodeTest() { return HenResult.ok("这是中文"+"abcd"); }解决方法yml文件中加入以下配置,指定编码格式。server: servlet: encoding: force: true charset: UTF.原创 2020-06-16 22:17:56 · 599 阅读 · 0 评论 -
项目(一)springboot多模块工程(7)jackson使用配置
JSON简介jackson配置简介Spring Boot提供了与三个JSON映射库的集成。GSON /jackson/JSON-B。Jackson是首选的默认库。这里仅讲jackson的配置。jackson提供了Jackson的自动配置,并且Jackson是的一部分spring-boot-starter-json。当Jackson放在类路径上时,将ObjectMapper自动配置Bean。提供了几个配置属性,用于自定义的配置ObjectMapper。配置有两种配置方式,一种是在yml文件中进行原创 2020-06-15 22:26:46 · 458 阅读 · 0 评论 -
项目(一)springboot多模块工程(6)集成logback日志
logback依赖配置三级目录依赖如果是非web项目,则需依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId></dependency>如果是web项目,即已经依赖:spring-boot-starter-web,则不需要再依赖其原创 2020-06-12 22:07:24 · 2150 阅读 · 0 评论 -
项目(一)springboot多模块工程(5)Hikari连接池配置
简介springboot 2 将连接池默认改为了Hikari。目前Hikari号称java界最快的连接池。yml配置spring: type: com.zaxxer.hikari.HikariDataSource hikari: # 最小连接数 minimum-idle: 5 # 最大连接数 maximum-pool-size: 15 # 自动提交 auto-commit: true # 获取连接池连接等待最大时长 idle-ti原创 2020-06-10 23:30:38 · 507 阅读 · 0 评论