springboot
文章平均质量分 91
苏雨丶
擅长主流开源框架源码
展开
-
Nacos配置中心配置变更,自己编码实现自动刷新的功能
Nacos本身已经支持了@NacosValue的属性刷新功能,必须要在配置文件中打开自动刷新,还必须设置@NacosValue的属性autoRefreshed = true 默认为false,但是我们项目中使用的最多的是@Value来做占位符操作,Nacos并没有支持@Value的属性工作,工作上有个需求,需求内容如下配置中心内容变更,@Value修饰的属性也需要支持刷新值操作。如果有只需要解决问题,不需要知道原理的同学,可以直接把该项目拿过去用,项目中也包含了测试代码,有用的话麻烦Stat一下,该项目我原创 2022-06-09 18:39:55 · 5775 阅读 · 4 评论 -
【源码系列】Nacos客户端服务发现原理源码
文章目录客户端服务发现原理源码客户端服务发现服务订阅并获取服务本地内存获取服务端服务订阅处理客户端故障转移客户端服务发现原理源码客户端服务发现上一篇Nacos服务注册原理源码文章中,在Nacos提供的注册中心测试单元中代码,我们只讲到了服务的注册,注册完后,服务获取方法没有往下展开分析,今天我们主要就是讲解这个方法。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mn0ipN0z-1649754204345)( https://java-imgs.oss-cn-hon原创 2022-04-12 17:09:38 · 581 阅读 · 1 评论 -
【源码系列】SpringBoot启动过程原理源码
文章目录SpringBoot启动过程原理源码1.Spring的SPI2.SpringApplication实例化3.run方法执行流程1. 获取事件发布器2. 创建环境对象3. 创建上下文对象4.上下文刷新前5.上下文刷新自动装配具体实现Tomcat启动6.上下文刷新后7. 应用生命周期函数SpringBoot启动过程原理源码1.Spring的SPI文章中会多次提到SPI这个东西,我们简单的介绍一下,SPI全称为Service Provider Interface 这个东西你可以理解为 它就是一个原创 2022-03-31 17:08:09 · 1713 阅读 · 0 评论 -
springboot文件上传到本地并返回可预览的文件路径
上传接口建一个springboot的web项目,然后写一个上传并返回文件路径的接口,接口代码如下: /** * 本地保存路径 */ @Value("${file.path}") private String dirPath; @RequestMapping(value = "upload") public String upload(MultipartFile file) throws IOException { InputStre原创 2020-05-23 15:24:30 · 4875 阅读 · 2 评论 -
SpringBoot RabbitMq 消息投递手动签收 Only one ConfirmCallback is supported by each RabbitTemplate
异常信息出现在工作实际开发中,用到了队列信息,为了消息的可靠性投递,我使用到了手动签收的方式,开始只有一个地方使用到了,客户调用接口,有一个地方需要用到异步回调,由于中间件的异步特效,我就用队列来做,开始这一块一点问题没有,客户还在正常使用,后面由于一个其他的需求,也需要使用到了队列,后面也加上了这种手动签收的方式来做,在本地测试的时候也没啥问题,由于以前的代码没改 所以就没测那一块的功能...原创 2020-01-15 11:27:43 · 7931 阅读 · 2 评论 -
springboot集成RabbitMq异常 Channel shutdown: channel error; protocol method
异常信息2019-11-13 14:07:18.431 INFO 10702 --- [ 127.0.0.1:5672] c.f.o.a.l.rabbitmq.publisher.TestSender : 信息投递成功,messageId:39f52873-37ca-49b1-9054-b71bf7cf26c8----收到消息,开始消费-----d订单id:39f52873-37ca-4...原创 2019-11-13 15:10:39 · 20755 阅读 · 10 评论 -
spring框架controller方法接收 Content-Type=text/plain(text/json)格式类型的参数数据
这个跟我们往常的Content-Type=application/json类型的接收方式有点不太一样,假如请求参数为{"name":""tome,"age":18},我们平常的做法是声明一个User对象来接收,User对象中包含了name和age两个属性,贴出下面的伪代码 @RequestMapping(value = "notify") public String receiv...原创 2019-09-26 11:51:35 · 31862 阅读 · 0 评论 -
Springboot2.x配置ssl证书同时支持http和https两种协议
1.准备一份xxx.jks的证书一份,放置resources目录下2.在application.yml配置证书的一些参数,以及项目的http端口和https接口 配置如下:server: port: 8080 custom: httpPort: 9090 ssl: key-store: classpath:ssl.jks key-password: 1234...原创 2019-09-02 16:46:00 · 1608 阅读 · 0 评论 -
Controller参数校验实现Demo 基于自定义注解搭配spring-boot-aop以及全局异常的
注解和aop搭配使用的的参数校验方法自定义注解ParamsChkrequired()含义:需要校验不能为空的参数参数类型 String [] default {}使用: 用户再访问的时候必须穿 name 和 age 两个参数没如果没传则返回一个状态码给前端objRecive()含义:需要校验的方法是否以对象格式接收 true表示是按对象形式接收的 false 表示以单个属性接...原创 2019-08-07 17:02:21 · 325 阅读 · 0 评论 -
Java spring-boot-starter-data-redis redis删除list中的值
/** * 删除list集合 * @param key */ public void delete(String key) { //保留集合中索引0,0之间的值,其余全部删除 所以list只有有一个值存在 listOperations.trim(key,0,0); //将list中的剩余的一个值也删除...原创 2019-06-05 08:53:56 · 4099 阅读 · 5 评论 -
Easy-Pay一行代码解决支付宝微信支付功能
Easy-Pay注意事项如果只想使用支付宝或微信其中一方支付方式,配置文件只需要配置微信或支付宝的配置无需两个支付方式都配置各种框架使用Easy-Pay的DemoSpringBoot使用Easy-Pay的Demo使用前配置文件配置如下在项目pom.xml文件中引入Easy-Pay的依赖,该依赖已经发布到了maven的中央仓库。 <dependenc...原创 2019-05-16 11:30:07 · 3769 阅读 · 2 评论 -
阿里云负载均衡 SLB使用以及数字证书配置
阿里云负载均衡slb配置1.购买负载均衡示例购买成功后会显示在实例管理,标记的ip后续我们需要用到。2.配置负载均衡点击开始配置我们这里先配置http协议让其监听80端口,https协议等负载均衡配置成功了再来配置。高级配置下面的调度算法,根据各个服务器的性能来选择,这里我们选择轮询的方式 ,然后点击下一步。配置后端服务器组,添加要进行负载的服务器, 并配置需要监听的服务器...原创 2019-04-24 15:56:09 · 802 阅读 · 0 评论 -
rabbitmq 消息100%可靠性投递的解决方案实现 ack手动确认方式
代码实例及学习参考内容来自慕课网课程RabbitMQ消息中间件极速入门与实战部分代码自己进行了改造特点:RabbitMQ底层使用Erlang语言编写,传递效率高,延迟低开源、性能优秀、稳定性较高与SpringAMQP完美的整合、API丰富集群模式丰富、表达式配置、HA模式、镜像队列模式保证数据不丢失的情况下,做到高可用AMQP全称:Advanced Message Queuing ...翻译 2019-01-25 14:31:18 · 2988 阅读 · 1 评论 -
springboot定时器的使用 之 cron fixedRate initialDelay 探究
Springboot的定时器用起来比SpringMvc的简单太多了,下面我们就来介绍下Springboot的定时器:第一步:在程序入口添加一个@EnableScheduling注解第二步:新建一个定时类,定义一个方法来对你想要东西进行定时执行如下,在方法的上面使用注解@Scheduled(xxx): private static int i = 0; private s...原创 2017-10-27 14:58:15 · 13209 阅读 · 1 评论 -
使用websocket实现手机扫描PC端二维码,移动端canvas手绘签名确定后将图片同步到PC端 扫码及时更新图片
这个Demo我放到线上啦,大家可以试一下(前端是用vue写的,后台是用springboot写的 还处于学习阶段 帮不到各位大神也请各位轻点喷http://draw.niezhiliang.com/我们首先看下效果,我把图截下来来:1.这个是线上地址打开的页面2.这是扫描二维码后手机打开的界面(不要用微信去扫,微信显示不安全 用支付宝或其他的可以出来页面)3.当手机页...原创 2018-03-15 14:57:04 · 6780 阅读 · 21 评论 -
springboot 整合websocket 站内消息 (支持广播式和只给一人发送)单独信息发送 信息群发 统计连接数
线上客户端地址:http://www.niezhiliang.com:8086/index线上服务端地址:http://www.niezhiliang.com:8086/admin第一步:使用org.springframework.web.socket.server.standard.ServerEndpointExporter.ServerEndpointExporter类。在Spring容器中...原创 2018-01-03 11:27:37 · 9924 阅读 · 11 评论 -
vue2.0 前后端分离跨域每次请求sessionId不一致解决 springboot解决跨域问题
随着前端框架的不断发展,越来越多的项目更喜欢用前段后分离来做,作为后台人员,完全不想写一点前端,只想关注API的编写就够了 哈哈但前后端分离开发项目还是会踩到太多坑,最近就有一个需求是,多个站点共享用户登录信息,就是当用户在某一个站点登录了,当点击到另一个项目的站点时,延用之前的登录信息,无需再次登录。 此时就想到了 使用Redis来实现该需求,当用户登录成功后,将用户信息保存到Redis,以...原创 2018-04-12 15:47:32 · 15778 阅读 · 5 评论 -
使用spring boot +WebSocket实现(后台主动)消息推送支持单独推送,多人推送 全部推送
首先看下效果图,如果不是你想要的功能,直接pass首先是客户端连接上服务端,由于服务端的在线数和在线人不是异步的 所以当客户端连接完成后需要刷新服务端界面才可以看到实时的在线数和在线人 正如上面gif演示的一样,三个客户端连接到了服务端(张三 李四 王五) 张三主动发送一条信息给服务端,服务端接收到后会在操作详情里面打印出来。服务端实现主动推送: 如果我...原创 2018-06-05 17:34:39 · 2639 阅读 · 13 评论 -
微信第三方登录redirect_uri 参数错误
微信第三方登录先说解决方案:redirect_uri 参数错误在开放平台设置好回调地址,例如地址是 www.niezhiliang.com 那么在生成二维码的时候回调只能写该域名下的地址在申请二维码页面回调地址(你的redirect_uri) 还必须加上http或者https,还必须进行转码操作平常我们是http://www.niezhiliang/callback 必须转成这...原创 2018-08-17 20:51:27 · 18640 阅读 · 2 评论 -
Springboot配置https证书 ssl
1.准备一份xxx.jks的证书一份,放置resources目录下2.在application.yml配置证书的一些参数,以及项目的http端口和https接口 配置如下: server: #https监听端口 port: 8989 custom: #http监听端口 httpPort: 8898...原创 2018-11-13 15:54:46 · 9486 阅读 · 1 评论 -
SpringBoot热部署自动重启 spring-boot-devtools
IDEA springboot项目热部署设置1.首先项目pom.xml依赖 spring-boot-devtoolspom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</...原创 2018-11-13 15:58:31 · 3033 阅读 · 0 评论 -
java自定义注解annotation记录操作日志
说到注解我们平常用的可以说非常多啦,说几个常用的的注解 @RestController @Service @Autowired这些都是我们平常使用spring框架最常见的注解了,我们只知道它们非常好用,使用@RestController 就能构建一个restful的控制器,@Service 这个是我们常用的mvc架构中的业务层使用的注解,将类交给spring容器管理,我们要用的话直接使用@Aut...原创 2018-12-06 10:24:24 · 4932 阅读 · 4 评论