
spring boot
zhangjunli
这个作者很懒,什么都没留下…
展开
-
过滤器、拦截器、AOP、ControllerAdvcie执行顺序对比
来自J2EE中的Servlet技术实现原理:基于servlet的函数回调实现只可以获取到请求中的request和response,无法获取到响应方法的信息可以拦截所有请求支持使用xml配置和注解配置应用场景:权限认证、敏感词检测、访问日志记录等来自Spring,不依赖于servlet容器,但依赖于Spring实现原理:通过反射机制,动态代理实现可以获取到Spring中存在的Bean,通过注入的方式只对action请求起作用,并可以获取到action请求的上下文。原创 2024-01-16 09:43:13 · 1174 阅读 · 0 评论 -
SpringBoot源码分析
由Pivotal团队提供的全新框架其设计目的是用来简化新Spring应用的初始搭建以及开发过程使用了特定的方式来进行配置快速应用开发领域。原创 2024-01-12 16:00:27 · 966 阅读 · 0 评论 -
SpringBoot3.X源码分析(启动流程)
所以SpringApplicationRunListener和ApplicationListener之间的关系是通过ApplicationEventMulticaster广播出去的SpringApplicationEvent所联系。构造一个SpringApplication的实例,然后再调用这里实例的run方法就表示启动SpringBoot。静态辅助类,可用于运行使用默认配置(即我们添加的一系列注解)的指定源的 SpringApplication。获取配置的监听器名称,并实例化所有的类。原创 2024-01-12 15:46:55 · 1505 阅读 · 0 评论 -
docker-compose下载太慢问题解决
docker-compose下载太慢问题解决原创 2023-03-07 11:55:20 · 1443 阅读 · 0 评论 -
EasyExcel3.x文件导入SpringBoot2
EasyExcel3.x文件导入SpringBoot2原创 2023-03-05 21:36:58 · 614 阅读 · 0 评论 -
mybatis-plus动态配置实体类表名
mybatis-plus动态配置实体类表名原创 2022-08-19 11:14:44 · 1229 阅读 · 0 评论 -
文件下载重命名(跨域)
一、正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性var link = document.createElement('a');link.href = file.url;link.download = file.name;link.target="_blank";link.click();由于a.download跨域会失效,上面代码只可同域实现二、通过blob实现跨域下载并修改文件名点击时调用如下方法function load(file) {原创 2022-04-08 11:00:22 · 2573 阅读 · 2 评论 -
excel下载模版(数据字典)
各模块增加excel下载模版,导出数据字典功能。 目的:进行批量导入,有字典数据参考 方式: 第一种方式:配置文件配置; 第二种方式:在参数管理菜单配置; 在nacos里的blade-dev.yaml配置,如有新的字典(追加即可) 1、后端代码实现,以“用户信息“模块为例a、pom引用<dependency> <groupId>org.springbla..原创 2022-04-02 11:39:34 · 1106 阅读 · 0 评论 -
Feign远程调用-IPage分页返回对象-序列化错误
当使用Feign调用服务IPage分页接口时,会出现序列化异常。解决方式如下:添加配置文件IPageDeserializer,WebDataConvertConfigpublic class IPageDeserializer extends StdDeserializer<IPage> { protected IPageDeserializer(Class<?> vc) { super(vc); } /** * Method that can be c原创 2022-04-02 11:26:16 · 3607 阅读 · 1 评论 -
SpringBoot后端返回Long类型,前端丢失精度
后端返回VO等对象给前端时,Long类型的字段注意添加以下注解。否则会出现丢失精度的bug。原创 2022-04-01 15:30:15 · 1182 阅读 · 0 评论 -
idea docker springboot 远程调试
Dockerfile文件内容FROM openjdk:8-jdk-alpineMAINTAINER timorRUN echo "Asia/Shanghai" > /etc/timezoneVOLUME /tmpADD eureka-1.0.jar app.jarEXPOSE 8761 9999RUN sh -c 'touch /app.jar'ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","原创 2022-02-17 18:45:51 · 710 阅读 · 0 评论 -
Nexus私服Maven仓库配置
一、去除所有mirrors配置二、maven中配置setting.xml<profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <url>http://192.168.0.112:8081/r.原创 2022-01-26 14:05:52 · 500 阅读 · 0 评论 -
SpringBoot项目Maven打包镜像上传到Harbor
Docker 开启2375端口,提供外部访问docker1、编辑docker.service# vim /usr/lib/systemd/system/docker.service在 ExecStart=/usr/bin/dockerd -current 后 增加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock2、编辑SpringBoot项目pom文件一 <properties> <!-原创 2022-01-14 14:23:48 · 716 阅读 · 0 评论 -
shell脚本启动springboot程序-复杂方式
#!/bin/bash#设置jar文件名APP_NAME=sample.jar#使用说明,用来提示输入参数usage() {echo "提示: 请输入sh 执行脚本参数如: [start|stop|restart|status]"exit 1}#检查程序是否在运行is_exist(){pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `#如果不存在返回1,存在返回0if [ -z "${pid}" ]; then原创 2021-12-27 09:26:17 · 294 阅读 · 0 评论 -
shell脚本启动springboot程序-简单方式
nohup java -jar /home/test/sample.jar > /home/test/sample.log 2>&1 &原创 2021-12-27 09:21:07 · 228 阅读 · 0 评论 -
BladeX部署东方通报403 forbidden错误解决
出错信息如下:解决办法:在项目中添加WebSecrurityConfig.javaimport org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;import org.springframework.securi.原创 2021-11-30 15:23:22 · 800 阅读 · 0 评论 -
Jakarta Bean Validation说明
4. 注解含义4.1 开启验证首先我们看controller类最上方,我们标注了@Validataed,该注解的含义是:这个类要启用参数校验。在save方法的参数中标注了@Valid,含义为我们要对紧跟的实体进行校验,而具体校验的内容,为实体类中的我们的定义的约束以Ability类举例,在name字段上方标记了@NotBlank,意为定义了该字段不允许为空的约束,如果name为空,校验就不通过,就会返回我们之前碰到的400异常。而type字段也标注了@NotNull,也定义了该字段不允许为空的约束,具原创 2021-11-19 18:55:05 · 2116 阅读 · 0 评论 -
feign响应流对象获取微信二维码
feign面向方法签名的http调用,越来越受欢迎,类型于rpc的thrift,只需要关注方法签名和返回值即可,当然feign响应流对象时,需要我们做一下特殊处理,否则会出现异常。也有一些文章通过重写HttpMessageConvert来实现,但我测试后发现还是失败的。> Accept: image/*会返回406 Not Acceptable### 解决方法feign代码,注意返回值必须是`feign.Response```` @PostMapping(value = "/wxa/get.原创 2021-01-23 13:50:47 · 525 阅读 · 0 评论 -
SpringBoot中logback不同环境日志配置
<?xml version="1.0" encoding="UTF-8"?><!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --><!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true --><!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果原创 2020-09-18 14:53:50 · 1267 阅读 · 0 评论 -
jenkins配置自动部署springboot程序
任务背景该项目包含4个程序包:a.jar,b.jar,c.jar,d.jar,每次启动前需要修改程序中的配置文件(修改数据源配置),然后按照先后顺序启动。任务目标1.利用jenkins拉取代码,且在打包前就修改好配置文件2.打好包后,将4个程序包传输至测试服务器,并远程执行事先写好的启动脚本配置步骤1.先新建一个Maven任务,配置好源码地址以及build配置2.完成上述配置后,构建一次,看看工作空间的内容这里显示的就是这个工程的代码结构,即从git拉取代码后在...原创 2020-08-14 08:52:12 · 718 阅读 · 0 评论 -
bootstrap-table-treegrid数据量较大时渲染太久了
bootstrap-table-treegrid数据量较大时渲染太久了 ...转载 2020-08-17 09:06:02 · 1468 阅读 · 0 评论 -
docker-maven-plugin打包镜像,并上传到私有仓库
目录docker-maven-plugin 介绍 环境、软件准备 Demo 示例 配置 DOCKER_HOST 示例构建镜像 指定构建信息到 POM 中构建 使用 Dockerfile 构建 使用命令 绑定 Docker 命令到 Maven各个阶段 使用私有Docker仓库地址 安全认证配置 FAQ1、docker-maven-plugin 介绍在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上原创 2020-07-28 18:39:02 · 4377 阅读 · 0 评论 -
使用docker-maven-plugin将Spring boot的集成docker
使用Spring Boot编写了一个微服务后,如何将构建应用并打包成docker镜像,推送到docker仓库,以供测试环境测试。docker-maven-plugin插件可以完成这项任务。最近使用了docker-maven-plugin插件,想写一篇关于使用总结的文章,但发现它在github上的README.md写的很好了,决定对它翻译一下。docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin该插原创 2020-07-21 19:01:37 · 644 阅读 · 0 评论 -
SpringBoot整合ThymeLeaf前后端分离使用案例
一、前端1、将静态资源放置于项目resources下2、修改配置文件二、后端1、添加依赖2、编写访问Controller3、修改配置文件原创 2020-07-14 15:36:36 · 2145 阅读 · 0 评论 -
Spring Security实现OAuth2.0授权服务 - 进阶版
《Spring Security实现OAuth2.0授权服务 - 基础版》介绍了如何使用Spring Security实现OAuth2.0授权和资源保护,但是使用的都是Spring Security默认的登录页、授权页,client和token信息也是保存在内存中的。本文将介绍如何在Spring Security OAuth项目中自定义登录页面、自定义授权页面、数据库配置client信息...原创 2020-04-27 13:57:35 · 603 阅读 · 0 评论 -
Spring Security实现OAuth2.0授权服务 - 基础版
《Spring Security实现OAuth2.0授权服务 - 基础版》介绍了如何使用Spring Security实现OAuth2.0授权和资源保护,但是使用的都是Spring Security默认的登录页、授权页,client和token信息也是保存在内存中的。本文将介绍如何在Spring Security OAuth项目中自定义登录页面、自定义授权页面、数据库配置client信息...原创 2020-04-27 13:56:05 · 438 阅读 · 0 评论 -
spring-oauth-server 数据库表说明
以下对spring-oauth-server项目中的oauth.ddl文件(位于/others/database目录)中的表字及段进行说明, 内容包括字段说明与使用场合表名 字段名 字段说明 oauth_client_details client_id 主键,必须唯一,不能为空. 用于唯一标识每一个客户端(client); 在注册时必须填写(也可由服务端自动生...原创 2020-04-27 13:50:15 · 334 阅读 · 0 评论 -
Command line is too long. Shorten command line for
报错内容:Error running 'ServiceStarter': Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.解法:修改项目下 .idea\workspace.xml,找到标签<compone...原创 2020-04-22 17:28:08 · 418 阅读 · 0 评论 -
使用jar命令替换jar中的class
1、新创建一个包名类名一致的.java *[确保jar中有对应的class]2、准备好要替换的jar命令如下:jar uvf ~/Documents/baidu-license-10.1.2.jar com/baidu/license/LicenseVerifier.class解析命令:jar: 包是Java中所特有一种压缩文档 -u 添加文件到jar包中...原创 2020-04-21 16:13:27 · 1402 阅读 · 0 评论 -
springboot2.X打包docker容器部署
1.创建项目使用idea创建springboot项目项目地址: springboot-docker-demo 创建好之后,在pom.xml中...转载 2020-02-17 20:07:04 · 606 阅读 · 0 评论 -
使用logstash结合logback收集微服务日志
因为公司开发环境没有装elk,所以每次查看各个微服务的日志只能使用如下命令这样子访问日志是并不方便,于是想为每个微服务的日志都用logstash收集到一个文件out中,那以后只要输出这个文件则可查看所有的日志 结合logback和logstash收集日志 1.为需要收集日志的微服务引入logstash-logback-encode依赖//用logstash收集logback...原创 2020-01-09 14:19:49 · 3253 阅读 · 0 评论 -
EFK(Elasticsearch、Filebeat、kibana)+SpringBoot日志收集
声明:如果您有更好的技术与作者分享,或者商业合作;请访问作者个人网站 http://www.esqabc.com/view/mes...转载 2020-01-09 13:50:28 · 1686 阅读 · 1 评论 -
Logback各Appender详解及配置
Logback将执行日志事件输出的组件称为Appender,实现的Appender必须继承 ch.qos.logback.core.Appender接口接口如下:package ch.qos.logback.core;import ch.qos.logback.core.spi.ContextAware;import ch.qos.logback.core.spi.FilterAtta...转载 2020-01-09 10:24:36 · 3547 阅读 · 0 评论 -
Spring Boot Task定时任务升级(启动、停止、变更执行周期)
编写一个简单的线程:package org.lvgang;import java.util.Date;/** * 创建一个线程,给定时任务调用 * @author lvgang */public class MyRunnable implements Runnable { public void run() { System.out.println("MyRunnabl...原创 2019-10-16 14:54:35 · 1625 阅读 · 0 评论 -
SpringBoot中使用任务调度器的注意事项
在项目开发过程中,我们经常需要执行具有周期性的任务。通过定时任务可以很好的帮助我们实现。我们拿常用的几种定时任务框架做一个比较:从以上表格可以看出,Spring Schedule框架功能完善,简单易用。对于中小型项目需求,Spring Schedule是完全可以胜任的。1、springboot集成schedule1.1 添加maven依赖包由于Spring Sc...原创 2019-10-16 08:51:56 · 523 阅读 · 0 评论 -
Spring Boot 内嵌容器Undertow参数设置
配置项:# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程# 不要设置过大,如果过大,启动项目会报错:打开文件数过多server.undertow.io-threads=16# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是...原创 2019-04-11 11:57:36 · 10173 阅读 · 0 评论 -
springboot2整合kafaka
Kafka 概述Apache Kafka 是一个分布式流处理平台,用于构建实时的数据管道和流式的应用.它可以让你发布和订阅流式的记录,可以储存流式的记录,并且有较好的容错性,可以在流式记录产生时就进行处理。Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 Kafka 的定义:一个分布式发布-订阅消息传递系统。Kafka 特性高吞吐量、低延迟:kafka每秒...原创 2019-01-17 15:22:25 · 2688 阅读 · 0 评论 -
springboot整合kafaka
前提假设你了解过 SpringBoot 和 Kafka。1、SpringBoot如果对 SpringBoot 不了解的话,建议去看看 DD 大佬 和 纯洁的微笑 的系列博客。2、KafkaKafka 的话可以看看我前两天写的博客 : Kafka 安装及快速入门 学习的话自己开台虚拟机自己手动搭建环境吧,有条件的买服务器。注意:一定要亲自自己安装实践,接下来我们将这两个进行整...原创 2019-01-17 15:17:13 · 3794 阅读 · 0 评论 -
SpringBoot2.X 动态Banner 尝鲜
Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜。配置依赖使用 Spring Boot 2.X 首先需要将项目依赖包替换为 2.0.2 RELEASE,现在网站https://start.spring.io/也将 Spring Boot 2.0.2 设置为默认版本。<parent> <group...原创 2018-12-20 14:26:29 · 481 阅读 · 0 评论 -
Spring Boot 性能优化
spring 框架给企业软件开发者提供了常见问题的通用解决方案,包括那些在未来开发中没有意识到的问题。但是,它构建的 J2EE 项目变得越来越臃肿,逐渐被 Spring Boot 所替代。Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。我们已经在几个项目中使用了 Spring Boot ,今天我们就来一起讨论一下如何改进 Spring Boot 应用的性能。...转载 2018-12-20 14:18:32 · 231 阅读 · 0 评论