![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot学习
文章平均质量分 58
DG_DH168
这个作者很懒,什么都没留下…
展开
-
Spring中@After,@Around,@Before执行顺序
当方法符合切点规则不符合环绕通知的规则时候,执行的顺序如下@Before→@After→@AfterRunning(如果有异常→@AfterThrowing)当方法符合切点规则并且符合环绕通知的规则时候,执行的顺序如下@Around→@Before→@Around→@After执行 ProceedingJoinPoint.proceed() 之后的操作→@AfterRunning(如果有异常→@AfterThrowing)详细参考:https://blog.csdn.net/lmx125254/ar原创 2021-11-04 15:39:59 · 1953 阅读 · 0 评论 -
Springboot MDC traceId日志中打印唯一traceId
参考:https://mp.weixin.qq.com/s/3VmgxcoFazMMhnzU8ddnKQ原创 2021-10-20 09:49:50 · 838 阅读 · 1 评论 -
Arthas JMH 实现线目上项目性能监控、问题定位
https://mp.weixin.qq.com/s/I7XHTq2L6i0qAuC1mUXKZA原创 2021-10-18 14:41:51 · 103 阅读 · 0 评论 -
spring-boot-starter-actuator配置
##依赖<!-- springboot 版本 <spring-boot.version>2.4.2</spring-boot.version>--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId><原创 2021-09-16 09:37:39 · 1242 阅读 · 0 评论 -
jasypt-spring-boot-starter 配置文件加密
添加maven依赖 <!--配置文件加密--> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version>原创 2021-09-15 15:52:51 · 342 阅读 · 0 评论 -
Springboot项目调用SAP RFC接口、JCO配置
开发环境配置1.通常开发环境是windows系统,将 sapjco3.dll文件保存到C:\Windows\System32 下2.项目引入jar包:sapjco3.jarmaven配置:部署环境配置通常部署环境是linux系统,主要配置两个文件sapjco3.jar、libsapjco3.sosapjco3.jar 文件复制到 $JAVA_HOME/lib/sapjco3.jarlibsapjco3.so 文件复制到$JAVA_HOME/jre/lib/amd64/server/l原创 2021-09-14 15:08:31 · 2215 阅读 · 0 评论 -
linux配置jar项目开机自动重启 shell脚本
创建脚本文件 start.shvim start.sh添加执行内容#!/bin/shJAVA_HOME=/usr/local/jdk8CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME PATHnohup java -jar /root/xkr-oa-system-1.0-SNAPSHOT.jar --spring.profiles.active=dev >/root/kapcatalina.原创 2021-09-14 14:38:59 · 204 阅读 · 0 评论 -
Spring Boot启动执行原理
SpringApplicationpring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法,在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。run()方法内部的源码:从上述源码可以看出,SpringApplication.run()方法内部执行了两个操作,分别是SpringApplication实例的初始化创建和调用run()启动项目。SpringApplication实例的初始化创建源码分析:从原创 2021-08-30 11:13:49 · 119 阅读 · 0 评论 -
Spring Boot 自动配置流程
自动配置Spring Boot应用的启动入口是@SpringBootApplication注解标注类中的main()方法,@SpringBootApplication能够扫描Spring组件并自动配置Spring Boot查看**@SpringBootApplication**内部源码进行分析@SpringBootApplication注解是一个组合注解,前面 4 个是注解的元数据信息, 我们主要看后面 3 个注解:@SpringBootConfiguration、@EnableAutoConfi原创 2021-08-30 10:10:00 · 325 阅读 · 0 评论 -
OKHttp3工具的使用
项目pom.xml添加maven依赖 <!-- json --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.72</version> </dependency>原创 2021-06-28 09:38:49 · 660 阅读 · 0 评论 -
Spring Boot 线程池ThreadPoolExecutor使用
线程池配置@Configuration@EnableAsync@Slf4jpublic class ThreadPoolConfig { @Value("${async.executor.thread.core_pool_size}") private int corePoolSize; @Value("${async.executor.thread.max_pool_size}") private int maxPoolSize; @Value("${a原创 2021-06-04 10:20:09 · 653 阅读 · 0 评论 -
SpringMVC中ResponseEntity对象
ResponseEntityResponseEntity对象是Spring对请求响应的封装。它继承了HttpEntity对象,包含了Http的响应码(httpstatus)、响应头(header)、响应体(body)三个部分。ResponseEntity 作为Controller接口的返回值 @GetMapping("/getUserInfo" ) public ResponseEntity getUserInfo(String applyType) { SysUser us原创 2021-06-03 09:39:01 · 1197 阅读 · 1 评论 -
Springboot 整合EasyExcel框架,实现excel的导入导出功能
最近为客户开发OA系统,excel导入导出是必备的功能,在项目开发中技术造型时,采用了阿里的EasyExcel框架。EasyExcel概览EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址:https://github.com/alibaba/easyexcelJava解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API原创 2021-02-23 14:16:15 · 860 阅读 · 1 评论 -
SpringBoot - Redis缓存 - 注解@Cacheable、@CacheEvict、@CachePut 使用示例详解
项目开发中使用缓存是常用提高查询性能的有效手段,这里主要讲解一下Redis与Spring中几个缓存注解的整合使用。Redis配置spring: #Redis配置 redis: host: 42.194.210.248 #Redis服务器连接密码(默认为空) password: donghu #Redis数据库索引(默认为0) database: 5 port: 6379 #连接超时时间(毫秒) timeout: 5000ms原创 2021-02-04 16:35:40 · 872 阅读 · 1 评论 -
基于注解Springboot实现API接口防刷限流
项目中如何防止接口在某段时间内被请求N次,实现的方法是通过Redis记录用户请求的次数,如果在指定时间内,次数超过限制就不允许访问。在redis 保存的key 是有时效性的,设置过期时间。代码实现原理:自定义注解,使用Interceptor拦截器进行拦截@RequestLimit 注解import java.lang.annotation.*; /** * 请求限制的自定义注解 * * @Target 注解可修饰的对象范围,ElementType.METHOD 作用于方法,ElementTy原创 2021-02-03 15:30:22 · 944 阅读 · 0 评论 -
SpringBoot 接口幂等性的实现
这里写目录标题1.什么是幂等性2.为什么需要实现幂等性3.为什么需要实现幂等性4.引入幂等性后对系统的影响5.Restful API 接口的幂等性6.如何实现幂等性方案一:数据库唯一主键方案二:数据库乐观锁方案三:防重 Token 令牌方案四、下游传递唯一序列号7.实现接口幂等示例8.最后总结1.什么是幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相原创 2021-02-03 10:43:43 · 752 阅读 · 2 评论 -
Redisson实现分布式锁
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, B...原创 2021-02-02 15:00:38 · 1735 阅读 · 0 评论 -
JMeter的安装使用
1.JMeter下载 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 官网下载地址 :http://jmeter.apache.org/2.配置JMeter环境变量在系统变量中新建JMETER_HOME,填写apache-jmeter-5.4.1.tgz解压后的路径配置classpath变量,变量值固定为:%JMETER_HOME%\lib\ext\ApacheJMeter原创 2021-02-01 10:21:44 · 475 阅读 · 0 评论 -
Minio 分步式存储服务 (CentOS7安装Minio、docker安装Minio)
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。参考:https://docs.min.io/cn/minio-quickstart-guide.html MinIO环境搭建,原创 2021-01-21 10:49:52 · 921 阅读 · 0 评论 -
Hibernate Validator 使用
Hibernate Validator 框架刚好解决了这些问题,可以很优雅的方式实现参数的校验,让业务代码 和 校验逻辑 分开,不再编写重复的校验逻辑; Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现; 作用: 验证逻辑与业务逻辑之间进行了分离,降低了程序耦合度; 统一且规范的验证方式,降低代码重复率; ...原创 2020-12-06 22:39:09 · 263 阅读 · 1 评论 -
多线程 RequestContextHolder.getRequestAttributes 空指针错误
代码如下:public interface ThreadTaskService { @Async Future<String> task1(); @Async Future<String> task2(); @Async Future<String> task3();}package com.dh.springcloud.test.server;import java.util.concurrent.Future;import javax原创 2020-08-24 11:06:13 · 2447 阅读 · 0 评论 -
SpringBoot整合Redis
1.在Linux或windows安装redis,我这里安装在Linux,这里忽略了安装步骤。可参考:https://blog.csdn.net/qq_35354529/article/details/997691612.在项目添加redis相关配置:pom.xml文件添加redis依赖配置 <!--redis --> <dependency> ...原创 2019-08-25 12:34:52 · 443 阅读 · 0 评论 -
Linux CentOS7 安装 Redis
yum -y install gcc gcc-c++ 安装gcc编译环境,用来执行make命令wget http://download.redis.io/releases/redis-4.0.2.tar.gz1解压 tar –zvxf …Linux环境下安装Redis步骤即问题解决第一步:将安装包在window平台上解压后拷贝到Linux机器的/usr/soft目录下,并且为文件夹和文件赋...原创 2019-08-19 22:21:37 · 416 阅读 · 0 评论 -
Springboot2 整合activeMQ
ActiveMQ是Apache所提供的一个开源的消息系统,完全采用Java来实现,支持J2EE提出的JMS(Java Message Service,即Java消息服务)规范。 下载ActiveMQ:https://activemq.apache.org/components/classic/download/ ![在这里插入图片描述](https://img-blog.c...原创 2019-08-01 22:10:13 · 319 阅读 · 0 评论 -
Java 线程池-异步任务
Java通过Executors提供四种线程池,分别为:1,newCachedThreadPoo创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。2,newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。3,newScheduledThreadPool创建一个定长线程池,支持定时及周期性任务执行...原创 2019-07-29 21:12:01 · 514 阅读 · 0 评论 -
SpringBoot2.0 整合Activiti6(一)
SpringBoot2.0 整合Activiti6 (一)最近项目中使用到activiti工作流,简单写了一个案例理解activiti的使用;如果想具体了解activiti原理,另行去搜索吧;这里直接上代码,springboot项目如何整合activti工作流:pom.xml <project xmlns="http://maven.apache.org/POM/4....原创 2019-07-23 21:51:47 · 1257 阅读 · 0 评论 -
springboot整合mybatis,swagger ui
项目整体结构pom.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven...原创 2017-10-19 22:57:39 · 682 阅读 · 0 评论