
SpringBoot
文章平均质量分 95
Throwable文摘
这个作者很懒,什么都没留下…
展开
-
基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇
最近对网络编程方面比较有兴趣,在微服务实践上也用到了相对主流的框架如底层也切换为,像底层也是使用封装通讯协议,最近调研和准备使用的也是基于封装实现了多种协议的兼容。因此,基于造一个轮子,在的加持下,实现一个轻量级的框架。这篇博文介绍的是框架协议的定义以及对应的编码解码处理的实现。截止本文()编写完成之时,的最新版本为,而的最新版本为,因此引入这两个版本的依赖,加上其他工具包和序列化等等的支持,文件的核心内容如下:部分参数的序列化会依赖到或者,具体看偏好而定。为了提高协议传输的效率,需要定制一套高效的协议,原创 2022-06-14 20:42:43 · 492 阅读 · 0 评论 -
SpringBoot2.x入门:依赖管理
前提这篇文章是《SpringBoot2.x入门》专辑的第1篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8。主要梳理一下SpringBoot2.x的依赖关系和依赖的版本管理,依赖版本管理是开发和管理一个SpringBoot项目的前提。SpringBoot其实是通过starter的形式,对spring-framework进行装箱,消除了(但是兼容和保留)原来的XML配置,目的是更加便捷地集成其他框架,打造一个完整高效的开发生态。SpringBoot依赖关系因为原创 2020-07-01 22:42:23 · 3533 阅读 · 1 评论 -
SpringBoot2.x入门:快速创建一个SpringBoot应用
前提这篇文章是《SpringBoot2.x入门》专辑的第2篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8。常规的套路会建议使用Spring官方提供的工具Spring Initializr通过指定配置创建一个SpringBoot项目,但是考虑到Spring Initializr必须联网使用,对于项目配置和依赖的控制粒度不够精细,本文会从更一般的情况考虑,详细分析怎么通过Maven和IntelliJ IDEA(下称IDEA)快速创建一个SpringBoot应用,包括单原创 2020-07-01 22:41:35 · 3449 阅读 · 0 评论 -
编写一个可复用的SpringBoot应用运维脚本
前提作为Java开发者,很多场景下会使用SpringBoot开发Web应用,目前微服务主流SpringCloud全家桶也是基于SpringBoot搭建的。SpringBoot应用部署到服务器上,需要编写运维管理脚本。本文尝试基于经验,总结之前生产使用的Shell脚本,编写一个可以复用的SpringBoot应用运维脚本,从而极大减轻SpringBoot应用启动、状态、重启等管理的工作量。本文的Sh...原创 2020-03-03 23:43:08 · 3726 阅读 · 0 评论 -
基于Netty和SpringBoot实现一个轻量级RPC框架-Client端请求响应同步化处理
前提前置文章:《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》《基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇》《基于Netty和SpringBoot实现一个轻量级RPC框架-Client篇》前一篇文章简单介绍了通过动态代理完成了Client端契约接口调用转换为发送RPC协议请求的功能。这篇文章主要解决一个遗留的技术难题:请求-响...原创 2020-01-18 14:58:44 · 3655 阅读 · 0 评论 -
基于Netty和SpringBoot实现一个轻量级RPC框架-Client篇
前提前置文章:《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》《基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇》前一篇文章相对简略地介绍了RPC服务端的编写,而这篇博文最要介绍服务端(Client)的实现。RPC调用一般是面向契约编程的,而Client的核心功能就是:把契约接口方法的调用抽象为使用Netty向RPC服务端通过私有协议...原创 2020-01-16 23:02:39 · 3535 阅读 · 0 评论 -
基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇
前提前置文章:Github Page:《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》Coding Page:《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》在前置的《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》一文中已经定义了一个相对简单的RPC私有协议,并且实现了对应的编码和解码模块。这篇文章基于协议篇,完成...原创 2020-01-15 00:18:09 · 3601 阅读 · 0 评论 -
SpringBoot使用Nacos进行服务注册发现与配置管理
前提最近由于业务发展,需要调研一套完善和主流的基础架构,进行中台化(微服务)的实施,考虑到技术栈切换到SOFAStack。既然整个体系都切换到蚂蚁金服的技术栈,那么自然考虑一些基础组件如服务注册发现、配置管理等都切换为阿里的技术栈。考虑到目前比较热的服务发现组件是Nacos,需要调研SpringBoot服务接入Nacos的可行性,为以后强制要求新服务使用SOFAStack + Nacos的技术栈...原创 2020-01-02 17:51:02 · 5567 阅读 · 0 评论 -
SpringMVC请求参数和响应结果全局加密和解密
前提前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场景,先定制一下整个交互流程。第三方传输(包括请求和响应)数据报文包括三个部分: - 1、timestamp,long类型,时间戳。 - 2、data,String类型,实际的业务请求数据转化成的Json字符串再进行加密得到的密文。 - 3、sign,签名,生成规则算法伪代码是S...原创 2018-08-14 00:42:26 · 6158 阅读 · 3 评论 -
基于SpringBoot的Environment源码理解实现分散配置
前提org.springframework.core.env.Environment是当前应用运行环境的公开接口,主要包括应用程序运行环境的两个关键方面:配置文件(profiles)和属性。Environment继承自接口PropertyResolver,而PropertyResolver提供了属性访问的相关方法。这篇文章从源码的角度分析Environment的存储容器和加载流程,然后基于源码...原创 2018-08-03 01:15:40 · 7497 阅读 · 2 评论 -
SpringBoot环境属性占位符解析和类型转换
前提前面写过一篇关于Environment属性加载的源码分析和扩展,里面提到属性的占位符解析和类型转换是相对复杂的,这篇文章就是要分析和解读这两个复杂的问题。关于这两个问题,选用一个比较复杂的参数处理方法PropertySourcesPropertyResolver#getProperty,解析占位符的时候依赖到PropertySourcesPropertyResolver#getProper...原创 2018-08-04 10:47:49 · 4405 阅读 · 0 评论