
spring boot
文章平均质量分 77
lockie_zou
这个作者很懒,什么都没留下…
展开
-
SpringBoot项目如何打包成exe应用程序
SpringBoot项目如何打包成exe应用程序原创 2023-05-09 14:09:51 · 2225 阅读 · 0 评论 -
Spring @Retryable注解轻松搞定循环重试功能
Spring 注解轻松搞定循环重试功能原创 2023-04-19 11:28:41 · 1118 阅读 · 0 评论 -
springboot使用Gateway搭建网关服务及Nacos实现动态路由
springboot使用Gateway搭建网关服务及实现动态路由原创 2023-02-28 14:23:30 · 5849 阅读 · 0 评论 -
springboot 项目开发的基本功能
springboot优雅的校验参数;返回响应数据该如何统一的进行处理;接收到请求,处理业务逻辑时抛出了异常又该如何处理;原创 2022-07-15 14:19:30 · 576 阅读 · 0 评论 -
springboot项目启动报Disconnected from the target VM, address: ‘127.0.0.1:56597‘错误
启动成功后报错:Disconnected from the target VM, address: '127.0.0.1:56597', transport: 'socket'查看pom文件发现只有 spring-boot-starter<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-.原创 2021-11-22 14:24:47 · 4478 阅读 · 0 评论 -
springboot 自定义starter类
不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架。当然,作为Spring Boot的精髓,自动配置原理的工作过程往往只有在“面试”的时候才能用得上,但是如果在工作中你能够深入的理解Spring Boot的自动配置原理,将无往不利。Spring Boot的出现,得益于“习惯优于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的按条件配置Bean的原创 2020-11-04 14:51:29 · 2250 阅读 · 2 评论 -
springboot使用Redisson分布式锁
为什么要使用分布式锁在分布式场景下为了保证数据最终一致性。在单进程的系统中,存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步(lock—synchronized),使其在修改这种变量时能够线性执行消除并发修改变量。但分布式系统是多部署、多进程的,开发语言提供的并发处理API在此场景下就无能为力了。分布式锁的使用场景电商网站用下单操作时需要使用,秒杀活动更是如此,否则会出现超卖(库存100,秒杀活动时库存变负数了分布式锁的实现方式大概有三种:1.基于关系型原创 2020-07-27 14:07:10 · 1683 阅读 · 0 评论 -
springboot 项目瘦身
一、前言SpringBoot部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网,部署起来实在头疼:编译出来的 Jar 包很大,如果工程引入了许多开源组件(Spring Cloud等),那就更大了。这个时候如果想要对线上运行工程有一些微调,则非常痛苦。二、瘦身前的Jar包Tomcat在部署Web工程的时候,可以进行增量更新,Spring Boot也是可以的~SpringBoot编译出来的Jar包中,磁盘占用大的,是一些外部依赖库(jar包),例如:进入项目工程根目..转载 2020-07-02 17:53:07 · 281 阅读 · 0 评论 -
SpringBoot 密码加密方式
1.为什么要加密2011 年 12 月 21 日,有人在网络上公开了一个包含 600 万个某网站用户资料的数据库,数据全部为明文储存,包含用户名、密码以及注册邮箱。事件发生后该网站在微博、官方网站等渠道发出了声明,解释说此数据库系 2009 年备份所用,因不明原因泄露,已经向警方报案,后又在官网发出了公开道歉信。在接下来的十多天里,金山、网易、京东、当当、新浪等多家公司被卷入到这次事件中。整个事件中最触目惊心的莫过于该网站把用户密码明文存储,由于很多用户是多个网站共用一个密码,因此一个网站密码泄..原创 2020-06-02 17:50:01 · 12611 阅读 · 0 评论 -
springboot集成Nacos的配置中心,注册中心
新建springboot 项目boot-user-service,boot-order-service服务首先Nacos官网下载nacos到本地,解压后进入/bin目录,点击windows启动即可启动启动后浏览器输入http://localhost:8848/nacos 如果能够访问到就说明成功,Nacos默认账户和密码都是nacos增加pom依赖:注意:版本 0.2.x...原创 2020-01-13 17:25:30 · 5384 阅读 · 1 评论 -
springboot 根据请求IP做的分布式限流
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理缓存的目...原创 2019-08-14 11:18:59 · 4593 阅读 · 5 评论 -
springboot拦截器无法注入redisTemplate
在工作中我们经常需要做登录拦截验证或者其他拦截认证功能,基于springboot项目下我们很容易想到结合redis做的分布式拦截,把用户登录或者需要验证的信息放到redis里面。但是在写拦截器的时候发现redisTemplate一直无法注入进来,最后查资料才发现springboot拦截器是在Bean实例化之前执行的,所以Bean实例无法注入。先看下问题,新建一个拦截器,然后注入redisTem...原创 2019-08-14 10:50:58 · 6462 阅读 · 2 评论 -
SpringBoot中常用注解
1.SpringBoot/spring@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;@Repository:用于标注数据访问组件,即DAO组件;@Service:用于标注业务层组件;@RestController:用...原创 2019-07-30 17:05:14 · 304 阅读 · 0 评论 -
springboot 拦截器校验签名后controller就获取不到数据
SpringBoot项目,有个需求就是要加一个拦截器和过滤器,在拦截器中我需要获取到前端传过来的json数据进行签名校验,按照常理来说,获取请求body中的参数就可以,方法写好后,在拦截器中也读取到了body请求参数。但是出现一个问题,就是后面的controller中使用了@RequestBody注解获取参数,但是拦截器执行过后,controller获取不到参数,甚至是方法都没有进入对应的方法中就...原创 2019-06-14 10:40:20 · 3605 阅读 · 1 评论 -
SpringBoot中application.properties的常用配置
1、简单配置#应用名称spring.application.name=apply#端口号server.port=8888#多环境配置,测试,生产用不同的配置文件spring.profiles.active=test#session超时,单位秒server.session.timeout=30#配置项目访问路径,不配置,就是直接访问Controller中@RequestMap...原创 2019-04-10 16:08:29 · 2746 阅读 · 0 评论 -
Springboot 启动Banner设置
SpringBoot项目启动时会在控制台打印一个默认的启动图案,这个图案就是我们要讲的banner。看似简单的banner,我们能够对它做些什么呢?本篇文章就带大家深入了解一下banner的使用(版本:SpringBoot2.1.4)。制作自己的banner第一步:在src/main/resources下面创建banner.txt。第二步:访问网站http://patorjk.com/...转载 2019-04-10 15:38:22 · 4282 阅读 · 0 评论 -
spring AOP面向切面编程
AOP是一种与语言无关的程序思想、编程范式。项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志、权限控制、异常处理等业务中。AOP(Aspect Oriented Programming)面向切面编程 OOP(Object Oriented Programming)面向对象编程 POP(procedure oriented programming)面向过程编程 F...原创 2019-03-29 16:13:16 · 484 阅读 · 0 评论 -
springboot properties文件和yml文件转换
有些公司使用spring boot项目的时候还会用到application.properties配置文件,有些也会用到yml文件,有些小伙伴有时候properties文件转成yml(或者反过来)的时候容易出错,下面介绍一个网站可以实现properties和yml之间的转换。网站:http://www.toyaml.com/index.html...原创 2019-02-20 16:15:44 · 10323 阅读 · 1 评论 -
SpringBoot配置SwaggerConfig后,访问404错误
springBoot在pom.xml里面配置swagger-ui包,并且配置了swaggerConfig后访问 http://localhost:8080/swagger-ui.html 之后报错404错误。出现报错原因:swagger-ui.html 是这个.html后缀的文件,springboot默认为是静态文件,静态文件默认是放在resource/static或者template里面的,但是...原创 2018-03-19 17:07:23 · 6980 阅读 · 3 评论 -
spring boot 多线程定时器
前言我们在做实际项目中经常会需要用到定时任务用来定时处理些需要后台自动处理的逻辑,实现定时器的的方式也有很多种:1. Quartz:Quartz的使用相当广泛,它是一个功能强大的调度器,当然使用起来也相对麻烦;2. java.util包里的Timer,它也可以实现定时任务但是功能过于单一所有使用很少。3. 就是我们今天要介绍的Spring自带的定时任务Schedule,其实可以把它看作是一个简化版...原创 2018-05-09 18:15:29 · 10882 阅读 · 3 评论 -
ClassNotFoundException DataSourcePoolMetadataProvider问题
springboot2.0 发布之后就按照之前的方式搭建了一个项目,启动的时候突然报错了,错误描述:找不到DataSourcePoolMetadataProvider。网上搜索发现原来是要升级Druid的版本,目前升级到最新版本,或者使用 1.1.8 以上的版本。druid-1.1.9 的发布,最重要的是支持Spring-boot 2.0的。...原创 2018-05-25 11:54:31 · 3662 阅读 · 0 评论 -
spring boot 2.0和spring cloud Finchley版项目搭建(包含eureka,gateWay,Freign,Hystrix)
前段时间spring boot 2.0发布了,与之对应的spring cloud Finchley版本也随之而来了,两者之间的关系和版本对应详见我这边文章:spring boot和spring cloud对应的版本关系项目地址:spring-cloud-demospring boot 1.x和spring cloud Dalston和Edgware版本搭建的微服务项目现在已经很流行了,现在...原创 2018-06-21 15:27:13 · 12493 阅读 · 14 评论 -
springboot 相关配置
配置线程池/任务执行器SpringBoot默认单线程执行,需要多线程异步执行,需要@EnableAsync并设置ThreadPoolTaskExecutor,仅仅开启@EnableAsync 1.4.X版本仍是单线程执行,1.5.X会报错提醒设置线程池!//可以设置执行任务的线程池的数量。默认是单线程。@Beanpublic ThreadPoolTaskScheduler getDefault...原创 2018-06-08 15:02:42 · 348 阅读 · 0 评论 -
spring cloud Feign使用@RequestLine注解问题
spring boot 项目需要调用其它项目的接口试使用spring cloud feign声明式调用。/** * 客户端请去 * @author Administrator * */@FeignClient(name="microservice-provider-user")public interface UserFeignClient { @Re...原创 2018-06-08 18:05:48 · 37942 阅读 · 1 评论 -
spring boot和spring cloud之间的版本关系
两者关系:1、Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务;Spring Cloud是一个基于Spring Boot实现的云应用开发工具;2、Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;3、spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能...原创 2018-06-20 10:34:44 · 4269 阅读 · 1 评论 -
spring boot集成druid监控
整体步骤:(1) —— Druid简单介绍,具体看官网;(2) —— 在pom.xml配置druid依赖包;(3) —— 配置application.properties加入数据库源类型等参数;(4) —— 编写druid servlet和filter提供监控页面访问;(5) —— 输入地址进行测试; Druid是Java语言...转载 2018-07-17 14:55:07 · 406 阅读 · 0 评论 -
static静态方法获取yml配置
java普通类获取yml文件的配置很简单,网上有很多类似的例子。比如:@Value("${zzp2.name}")private String name2;@Value("${zzp2.girl.age}")private Integer girlAge;@Value("${zzp2.girl.name}")private String girlName;但是我们经常会写u...原创 2018-08-16 11:31:21 · 18849 阅读 · 13 评论 -
springboot项目集成Dubbo
SpringBoot框架下虽然能够提供restfull的http远程访问方式,但是缺乏基于微服务的整体SOA治理方案,比如服务注册,发现,治理等。因此此篇的核心就是在SpringBoot框架下集成一个线程的微服务阿里的Dubbo,然后给客户端保留微服务接口。SpringBoot集成Dubbo核心步骤简介(1)创建Dubbo的服务端基础工程(2)创建服务端的服务接口(3)创建服务端接...转载 2018-10-18 16:08:49 · 556 阅读 · 1 评论 -
springboot的servet、filter、listener的注册配置
使用springboot时,它提倡减少大量的配置文件。从原理上是因为springboot为我们集成封装了很多框架。甚至是在我们在创建web项目时,使用的web.xml也都给废弃了。但是,如果我们使用传统的servlet、filter、listener,如何进行配置,此篇文章就是解决这个问题具体方案有如下两个:方案一:利用servlet3.0提供的相关注解进行设置,相关注解包括:@WebServ...转载 2018-10-18 16:29:08 · 296 阅读 · 0 评论 -
Spring Boot:The field file exceeds its maximum permitted size of 1048576 bytes.
Spring Boot做文件上传时出现了The field file exceeds its maximum permitted size of 1048576 bytes.错误,显示文件的大小超出了允许的范围。查看了官方文档,原来Spring Boot工程嵌入的tomcat限制了请求的文件大小,这一点在Spring Boot的官方文档中有说明,原文如下65.5 Handling Multi...转载 2018-12-03 15:40:37 · 931 阅读 · 0 评论 -
spring boot 项目打包后启动指定获取config配置文件
spring boot 项目使用Jenkins打包后需要放到服务器上运行,一般服务器运行时获取的application.yml配置文件都是统一管理的,不同环境访问不同的配置文件。比如,test环境就访问的是config配置中心test环境的application.yml比如下面这个java -server -Xmx512m -jar /usr/local/erp-service/e...原创 2019-02-20 11:54:08 · 3809 阅读 · 0 评论 -
Spring boot集成spring session实现session共享
最近使用spring boot开发一个系统,nginx做负载均衡分发请求到多个tomcat,此时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到A服务器,那么session就会被存到A服务器,再次访问时负载均衡会分发到B服务器那么第一次访问的session信息就会获取不到之前的session信息,所以需要实现session共享,还好有spring sessio...原创 2019-02-20 15:49:35 · 2744 阅读 · 0 评论 -
Spring Boot总结了这 16 条最佳实践
1、使用自定义BOM来维护第三方依赖这条实践是我根据实际项目中的经历总结出的。Spring Boot项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform就是做的这个事...转载 2019-02-20 16:05:08 · 240 阅读 · 0 评论 -
spring boot项目打包运行
如果项目是使用Maven工具管理的则之间使用maven打包。Maven打包:cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mvn clean package -Dmaven.test.skip=true打包完成后jar包会生成到target目录下,命名一般是 项目名+版本号.jar启动方式:1.直接启动java -j...原创 2018-03-02 10:56:56 · 227 阅读 · 0 评论