springboot实战
文章平均质量分 64
springboot与各种框架或其它技术栈整合实战
路西法_Lucifer
我是一个小码农。
展开
-
springboot 接口加签验签常见的几大问题及解决方案
springboot接口验签遇到的常见的几种问题以及解决办法: 1、request.getInputStream()不能重复读取 2、验签接口对body也参与加密,但是文件上传接口,相同参数每次产生的签名不一样 3、用request包装对象后,接口的MultipartFile参数 读取为空,但过滤器中可以读取到是有值的原创 2022-10-14 22:45:07 · 2723 阅读 · 1 评论 -
springboot过滤器转发请求到其它服务,并响应前端
通过调用 A服务,经过过滤器拦截,将请求转发到B服务,并将B服务的文件流,拿到后,响应给前端,并实现浏览器自动下载。原创 2022-09-22 23:22:33 · 4558 阅读 · 1 评论 -
通过canal将mysql中数据同步到elasticsearch
环境:mysql 5.7,elasticsearch 7.4.2,canal.deployer-1.1.5这里我要做的是通过canal将MySQL中修改的数据同步到elasticsearch当中。一、MySQL配置1.1 修改MySQL的配置文件[root@localhost local]# vim /etc/my.cnf[root@localhost local]# systemctl restart mysqldmy.cnf: (新增部分)附:MySQL官方文档#开启.原创 2020-05-24 00:33:16 · 3726 阅读 · 0 评论 -
spring boot 对请求进行全局异常处理
个人认为:如果不使用全局异常处理的话,那么会有很多异常都需要使用try catch进行捕获,重复代码增加,增加代码的恶心程度。controller层代码:@RestController@RequestMapping(value = "/user")public class UserController { @Resource private UserService userService; @GetMapping(value = "get") pu.原创 2020-05-23 14:45:41 · 652 阅读 · 0 评论 -
Elastic-Job (三)SpringBoot整合Simple作业
项目结构:ZookeeperProperties :读取application.yml中的自定义配置package com.lucifer.study.autoconfig;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;/** *...原创 2020-05-05 18:13:11 · 1963 阅读 · 0 评论 -
Elastic-Job (四)Elastic-Job+Spring Boot 实现订单取消
附:可以参考:Elastic-Job (一)实现Simple作业对于Script类型作业,官方文档给的解释是:Script类型作业: Script类型作业意为脚本类型作业,支持shell,python,perl等所有类型脚本。只需通过控制台或代码配置scriptCommandLine即可,无需编码。执行脚本路径可包含参数,参数传递完毕后,作业框架会自动追加最后一个参数为作业运行时...原创 2020-06-26 13:44:52 · 986 阅读 · 0 评论 -
【Sharding-JDBC】(六)实现数据脱敏
使用sharding-jdbc实现数据脱敏,比如用户表中的password字段,日常开发都会进行数据脱敏,对其进行加密。项目结构:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/...原创 2020-05-02 23:39:00 · 2404 阅读 · 0 评论 -
【RocketMQ】(五)利用Redssion分布式锁和RocketMQ消息的最终一致性 实现并发场景下单扣减库存
一、项目结构:1、 父工程pom.xml:(父工程只有一个pom.xml)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...原创 2020-04-21 19:48:58 · 1951 阅读 · 1 评论 -
【RocketMQ】(一) 简单消息(可靠的同步,可靠的异步和单向传输)
本篇文章将使用RocketMQ以三种方式发送消息:可靠的同步,可靠的异步和单向传输。并介绍下负载均衡模式与广播模式的区别:(1)同步发送消息: 在重要的通知消息,SMS通知,SMS营销系统等广泛的场景中使用可靠的同步传输。生产者代码:/** * 发送同步消息 * 这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。...原创 2020-04-14 17:19:19 · 852 阅读 · 0 评论 -
【RocketMQ】 (三)定时消息
定时消息: 是指消息发到 Broker 后,不能立刻被Consumer 消费,要到特定的时间点或者等待特定的时间后才能被消费。 如果要支持任意的时间精度,在 Broker 层面,必须要做消息排序,如果再涉及到持久化,那么消息排序要不可避免的产生巨大性能开销。 RocketMQ 支持定时消息,但是不支持任意时间精度,支持特定的 level,例如定时1s 5s 1...原创 2020-04-14 16:38:51 · 1175 阅读 · 0 评论 -
【RocketMQ】(二) 顺序消息
消息有序: 指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。顺序消费的原理解析: 在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息,这种情况发送和消费是不能保证顺序。 如...原创 2020-04-14 16:08:25 · 585 阅读 · 0 评论 -
springboot本地启动,访问路径正常,外部tomcat运行,接口访问404
1、案例介绍: 1.1结构: 1.2 pom.xml: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...原创 2020-03-21 20:13:44 · 5863 阅读 · 0 评论 -
【Sharding-JDBC】 (五)整合mybatis-plus 解决分布式事务(基于XA)
官网解释:功能支持数据分片后的跨库XA事务 两阶段提交保证操作的原子性和数据的强一致性 服务宕机重启后,提交/回滚中的事务可自动恢复 SPI机制整合主流的XA事务管理器,默认Atomikos,可以选择使用Narayana和Bitronix 同时支持XA和非XA的连接池 提供spring-boot和namespace的接入端不支持项服务宕机后,在其它机器上恢复提交/回滚中的数...原创 2020-01-19 11:10:14 · 4558 阅读 · 11 评论 -
【Sharding-JDBC 】(四)整合mybatis-plus 公共表
概念: 公共表属于系统中数据量较小,变动少,而且属于高频联合查询的依赖表。参数表、数据字典表等属于此类型。可 以将这类表在每个数据库都保存一份,所有更新操作都同时发送到所有分库执行。数据库:数据库脚本:(两个服务器的user_db库下均新增t_dict表)(1)创建数据库分别在user_db、order_db_1、order_db_2中创建t_dict表:C...原创 2019-12-31 14:46:59 · 1361 阅读 · 2 评论 -
【Sharding-JDBC】(三)整合mybatis-plus 水平分库、分表
ps:概念: 水平分库:是把同一个表的数据按一定规则拆到不同的数据库中,每个库可以放在不同的服务器 上。 水平分表:是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中. 一、准备环境:新增一个服务器节点,在两台服务器上都创建order_db库,并都创建t_order_1,t_order_2两张表。二、对(一)Sharding-JDBC 整合mybatis-p...原创 2019-12-31 14:02:29 · 4490 阅读 · 4 评论 -
【Sharding-JDBC】(二) 整合mybatis-plus 一主一从 读写分离
一.搭建数据库环境(一主一从 读写分离)参考:MySQL5.7 主从同步环境搭建在(一)Sharding-JDBC 整合mybatis-plus 单库分表的基础上增加了一台虚拟机,也创建了一个user_db库,并均创建t_user表。在/etc/my.cnf的mysql配置文件中配置主从同步。数据库脚本:(1)创建数据库#创建数据库user_dbCREATE DATABA...原创 2019-12-31 09:53:28 · 1398 阅读 · 0 评论 -
【Sharding-JDBC】(一) 整合mybatis-plus 水平分表
ps:概念:水平分表是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中一、准备环境:1.单数据库下,分表:2.数据库脚本:#创建订单库order_dbCREATE DATABASE `order_db` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';#在order_db中创建t_order_1、t_order...原创 2019-12-30 15:47:05 · 6543 阅读 · 4 评论 -
springcloud-nacos-seata 实现分布式事务
分布式事务组件seata的使用demo,AT模式,集成nacos、springboot、springcloud、mybatis-plus,数据库采用mysql;ps:github代码:transaction_example1. 服务端配置1.1 Nacos-server启动命令(standalone代表着单机模式运行,非集群模式):cd binsh startup.sh ...原创 2020-07-01 14:57:08 · 17672 阅读 · 6 评论 -
springcloud-nacos-seata整合报错:Correct the classpath of your application so that it contains a single
报错信息:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2019-12-10 16:10:01.273 ERROR 20156 --- [ main] o.s.b.d.LoggingFail...原创 2019-12-10 16:34:33 · 2751 阅读 · 0 评论 -
SpringBoot使用MyBatis 集成Atomikos 实现分布式事务 管理多数据源
1.项目结构:2.配置:(最重要)由于只用了两个数据源,这里就有两个读取springboot主配置类的两个类:package com.lucifer.config;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;/** * 数...原创 2019-11-22 22:11:21 · 750 阅读 · 0 评论 -
Spring Boot整合EasyExcel导入导出
1、所需部分jar包: <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</version></dependency&g...原创 2019-11-09 00:53:19 · 4428 阅读 · 3 评论 -
Springboot整合Elasticsearch 报错availableProcessors is already set to [4], rejecting [4]
1、异常信息:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elasticsearchClient' defined in class path resource [org/springframework/boot/autoconfigur...原创 2019-07-22 17:00:08 · 3199 阅读 · 5 评论 -
Exception processing template "updateUser": Error resolving template [updateUser], template might no
springboot+thymeleaf中,访问请求updateUser时报错,报错内容如下:2019-07-29 16:17:10.197 DEBUG 9820 --- [nio-8080-exec-4] c.l.y.mapper.UserMapper.findByUserId : ==> Preparing: select * from user where id = ?...原创 2019-07-29 16:25:25 · 3538 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are require
SpringBoot+Mybatis项目整合报错:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2019-07-29 13:12:50.651 ERROR 9452 --- [ main] ...原创 2019-07-29 13:17:45 · 7339 阅读 · 1 评论 -
springboot整合servlet两种方式
前言: springboot与servlet整合的两种方式,整合步骤如下:springboot整合servlet方式一:项目结构:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns...原创 2018-09-19 14:49:02 · 5301 阅读 · 2 评论 -
SpringBoot用HttpClient调用快递物流查询API接口
ps: 闲着无聊,调用第三方接口玩玩,接口很简单。附:快递物流查询API接口-支持1000多家快递公司-高实时-高稳定-高并发将实现以下三个接口调用:项目结构:请求参数:对象package com.lucifer.express.dto;import lombok.Data;/** * @author: lucifer * @date: 20...原创 2019-07-23 14:21:23 · 2386 阅读 · 8 评论 -
Java 生成订单号(唯一id)方案
1、直接使用uuidpublic static String getUUID() { String replaceUUID = UUID.randomUUID().toString().replace("-", ""); return replaceUUID; } 2、原本使用uuid+时间戳 /** * UUID+时间戳 ...原创 2020-12-26 16:08:48 · 39181 阅读 · 9 评论 -
Java 对list对象进行属性校验
ps:对list对象进行属性校验。@Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上@Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上user实体类:package com.lucifer.demo.pojo;import lombok.Data;import javax.validation.constraints.N...原创 2019-08-06 17:13:39 · 9338 阅读 · 2 评论 -
springboot 使用filter过滤器对项目中的请求参数字符串类型前后空格进行去除
pom.xml:主要jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1....原创 2019-08-21 16:17:37 · 6433 阅读 · 11 评论 -
SpringBoot + MongoTemplate 操作
查询:1.or查询(前端输入一个字段,从后台两个字段中精确查询数据)Criteria ca = new Criteria();ca.orOperator(Criteria.where("roomCode").is(passengerInfo.getVisitRoomNum()), Criteria.where("visitRoomNum").is(passengerInfo....原创 2019-07-19 17:18:45 · 1495 阅读 · 0 评论 -
springboot项目中 JsonFormat注解 日期格式化(yyyy-MM-dd)失效
问题: 项目中原本使用@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")这个注解,效果是可以的 ,如:2019-07-02;后面项目中加入fastjson后,我继续使用这个注解,导致的效果如:2019-07-02 00:00:00,返回格式就出了问题;代码段: @JsonFormat(pattern...原创 2019-07-02 10:47:05 · 21189 阅读 · 2 评论 -
SpringBoot和JPA整合
项目结构: pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...原创 2018-09-20 18:21:08 · 9004 阅读 · 0 评论 -
SpringBoot和Mybatis整合二(基于配置文件)
ps:可先看SpringBoot和Mybatis整合一(基于注解),再看整合二项目结构:EmployeeMapper:package com.lucifer.springboot.mapper;import com.lucifer.springboot.bean.Employee;public interface EmployeeMapper { public E...原创 2018-09-20 15:45:27 · 2332 阅读 · 0 评论 -
SpringBoot和Mybatis整合一(基于注解)
项目结构:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation...原创 2018-09-20 12:00:36 · 1156 阅读 · 1 评论 -
Springboot启动报错:Failed to bind properties under spring.datasource to javax.sql.DataSource
项目结构:DruidConfig:package com.lucifer.springboot.config;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support....原创 2018-09-20 10:02:13 · 58801 阅读 · 3 评论 -
IDEA springboot项目test类报错:Cannot resolve symbol 'SpringJUnit4ClassRunner'
ps:idea打开之后,发现test类报错:Cannot resolve symbol 'SpringJUnit4ClassRunner',注解全部爆红.test类部分截图:import com.fasterxml.jackson.databind.ObjectMapper;import org.junit.Before;import org.junit.Test;import...原创 2018-09-14 15:50:54 · 12433 阅读 · 6 评论 -
Spring Boot : Whitelabel Error Page
ps:若项目正常启动,controller代码没有问题,控制台无报错,端口号正确,浏览器输入url,仍然是404,解决方案如下:项目结构:springboot启动类:package com.lucifer.controller;import org.springframework.boot.SpringApplication;import org.springframewo...原创 2018-09-06 17:06:23 · 1322 阅读 · 0 评论 -
spring boot项目启动报错:Failed to load property source from location ‘classpath:/application.yml‘
控制台报错信息:01:25:43.686 [main] ERROR org.springframework.boot.SpringApplication - Application run failedjava.lang.IllegalStateException: Failed to load property source from location 'classpath:/appl...原创 2018-09-08 01:37:08 · 53608 阅读 · 11 评论 -
eclipse新建springboot项目,报错org.apache.maven.archiver.MavenArchiver.getManifest
项目截图:eclipse提示:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)解决方案:help -> Install New Software ->...原创 2018-06-20 11:13:44 · 3271 阅读 · 1 评论 -
SpringBoot关于SpringDataJpa中findOne()方法报错问题
今天看了慕课网的springboot视频,然后自己跟着敲,发现了一个问题就是我的没有findOne(Integer id)这个方法,因此我不能用这个方法去根据id查询了。后来自己在网上查询资料发现,这个跟jpa的jar版本有关系。spring-boot-starter-data-jpa用SpringDataJPA的1.11版本,可以使用findOne()方法根据id查询。(网上说的)我现在用的版本...原创 2018-06-21 00:23:16 · 1607 阅读 · 0 评论