
SpringBoot
文章平均质量分 94
架构攻城之路
敢拒绝,还有梦。
有qian,有闲,有成长;
有你,也有我。
展开
-
手把手教你实现自定义 Spring Boot 的 Starter
引言上篇文章《天天用SpringBoot,它的自动装配原理却说不出来》我们有说springBoot的自动装配怎么实现的(建议最好先看下篇文章,因为前后有关系),这篇文章的话我们就自己来实现一个SpringBoot的 starter吧。废话不多说我们还是直入主题吧。什么是Spring Boot Starter呢?我们直接来看看官网是怎么介绍的吧。❝Starters are a set of convenient dependency descriptors that you can in转载 2021-06-30 19:34:41 · 557 阅读 · 0 评论 -
惊人!Spring5 AOP 默认使用 CGLIB ?从现象到源码的深度分析
Spring5 AOP 默认使用 Cglib 了?我第一次听到这个说法是在一个微信群里: 群聊天真的假的?查阅文档刚看到这个说法的时候,我是保持怀疑态度的。大家都知道 Spring5 之前的版本 AOP 在默认情况下是使用 JDK 动态代理的,那是不是 Spring5 版本真的做了修改呢?于是我打开 Spring Framework 5.x 文档,再次确认了一下:文档地址:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-f转载 2021-01-04 12:07:43 · 347 阅读 · 0 评论 -
【SpringBoot必备】Spring Boot 中 SPI 机制
目录一、从java类加载机制说起1、双亲委派模型2.双亲委派模型缺陷3.使用线程上下文类加载器(ContextClassLoader)加载4、使用类加载器加载资源文件,比如jar包二、spring中SPI机制实现1.SPI机制2、SPI使用案例3、springboot中的类SPI扩展机制摘要: 原创出处 jianshu.com/p/0d196ad23915 「小manong」欢迎转载,保留摘要,谢谢!一、从java类加载机制说起java中的类加载器负载加载来自转载 2020-12-10 14:36:38 · 1028 阅读 · 0 评论 -
Springboot中实现策略模式+工厂模式
策略模式和工厂模式相信大家都比较熟悉,但是大家有没有在springboot中实现策略和工厂模式? 具体策略模式和工厂模式的UML我就不给出来了,使用这个这两个模式主要是防止程序中出现大量的IF ELSE IF ELSE....。接下来咱们直接实现,项目结构图: 工厂类FactoryStrategy负责创建策略的工厂,代码比较简单,比较关键的一点是AutoWired一个Map<String, Strategy> 这个会在初始化的时候将所有的Strategy自动加载到Map中,是不是转载 2020-08-01 10:20:43 · 1184 阅读 · 0 评论 -
【面试必备】终于弄明白了Spring Boot 自动配置原理
目录1. 概述2. 自动配置类3. 条件注解4. 配置属性5. 内置 Starter6. 自定义 Starter6.1 yunai-server-spring-boot-starter 项目6.1.1 引入依赖6.1.2 YunaiServerProperties6.1.3 YunaiServerAutoConfiguration6.1.4 spring.factories6.2 lab-47-demo 项目6.2.1 引入依赖6.2.2 配置文件转载 2020-09-19 09:09:18 · 1306 阅读 · 0 评论 -
Spring Boot 无侵入式 实现API接口统一JSON格式返回
目录无侵入式 统一返回JSON格式定义JSON格式定义JavaBean字段Result实体返回测试统一返回JSON格式进阶-全局处理(@RestControllerAdvice)@ResponseBody继承类ResponseBodyAdvice继承类RestControllerAdvice返回测试统一返回JSON格式进阶-异常处理(@ExceptionHandler))异常处理@ResponseStatus(不推荐)全局异常处理@ExceptionHandler转载 2020-09-05 17:20:47 · 538 阅读 · 0 评论 -
3种 Springboot 全局时间格式化方式,别再写重复代码了
时间格式化在项目中使用频率是非常高的,当我们的API接口返回结果,需要对其中某一个date字段属性进行特殊的格式化处理,通常会用到SimpleDateFormat工具处理。SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");DatestationTime=dateFormat.parse(dateFormat.format(PayEndTime()));可一旦处理的地方较多,不仅CV操作频繁,还产...转载 2020-09-05 14:32:21 · 1356 阅读 · 0 评论 -
【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口
前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范!本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松。在文章末尾贴上了项目演示的github地址,clone下来即可运行,并且转载 2020-07-29 16:55:30 · 235 阅读 · 0 评论 -
为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow
前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringBoot中的Tomc...转载 2020-02-28 10:11:53 · 638 阅读 · 1 评论 -
调整Jvm参数,让你的SpringBoot项目飞起来
作者:星朝来源:https://url.cn/5MrwT6L作为一名工程师,项目调优这事,是必须得熟练掌握的事情。在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。修改配置文件关于修改配置文件application.properties。SpringBoot项目详细的配置文件修改文档https://docs.spring.io/...转载 2019-10-31 09:27:17 · 4826 阅读 · 0 评论 -
ChinaPay银联电子支付-退款功能
引言如果还不了解UnionPay、ChinaPay概念与配置的,可以先移步到《B2B电商平台--ChinaPay银联电子支付功能》,此篇文章会带你熟悉ChinaPay支付流程的完整开发步骤。一、消费类交易流程本次只讲解退款申请流程,所以上面两个流程简单看下即可,退款流程如下:二、后续类交易接口根据ChinaPay银联接口开发文档4.15后续类交易接口说明:后...原创 2019-10-26 10:49:53 · 3842 阅读 · 2 评论 -
Spring Boot Admin 2.1.6最新实战教程
1.Spring Boot Admin 简介官方原话:codecentric’s Spring Boot Admin is a community project to manage and monitor yourSpring Boot®applications. The applications register with our Spring Boot Admin Client...原创 2019-07-25 12:17:10 · 5099 阅读 · 7 评论 -
JSONP 太 low,Spring Boot实现CORS跨域
一、跨域相关概念简介1、同源策略[same origin policy]:它是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,同源策略是浏览器安全的基石。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是...原创 2019-08-08 12:09:55 · 673 阅读 · 0 评论 -
Spring Boot 2.x 启动全过程源码分析(上)入口类剖析
Spring Boot 的应用教程我们已经分享过很多了,今天来通过源码来分析下它的启动过程,探究下 Spring Boot 为什么这么简便的奥秘。本篇基于 Spring Boot 2.0.3 版本进行分析,阅读本文需要有一些 Java 和 Spring 框架基础,如果还不知道 Spring Boot 是什么,建议先看下我们的 Spring Boot 教程。Spring Boot 的入口类...转载 2019-08-14 16:42:59 · 299 阅读 · 0 评论 -
SpringBoot + iframe 前后端实现简单实用的下载文件、导出excel案例
大家JavaWeb项目中应该都会遇到下载文件或导出excel的需求,特此分享此文,简单明了,可用于实际项目。1、前端页面,模拟两个按钮:下载文件、导出excel注:本案例是使用 SpringBoot 构建的项目,我这里使用的是之前介绍SpringBoot 实现CORS而创建的工程,也可以自己重新创建一个新的SpringBoot项目即可,然后新增如下一个html或jsp页面,使用ifr...原创 2019-08-15 15:40:46 · 2897 阅读 · 5 评论 -
Spring Boot + Token 实现接口幂等性 | 防止表单重复提交
一、概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如: 订单接口, 不能多次创建订单 支付接口, 重复支付同一笔订单只能扣一次钱 支付宝回调接口, 可能会多次回调, 必须处理重复回调 普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次 等等 二、常见解决方案 唯一索引 -- 防止新增脏数...原创 2019-08-16 17:50:17 · 7496 阅读 · 5 评论 -
B2B电商平台--ChinaPay银联电子支付功能
一、概念简介理解什么是UnionPay、ChinaPay这两个概念如果搞不清楚,绝对够你瞎折腾一段时间的。讲真,拿到这个改换ChinaPay银联支付需求时,我还以为产品经理给错我们官网地址了。1、UnionPay中国银联,最大的机构;他本身也提供系统接口但都是B2B的,对于单个商户他们不提供客服,也不提供技术解决,更不会提供商户后台(可查消费记录等);但他的技术接口...原创 2019-09-06 19:32:29 · 9358 阅读 · 14 评论 -
使用spring boot+kubernetes构建完整微服务平台
TOC应用架构发展历史 微服务解决方案 微服务公共关注点 Spring Cloud 与 Kubernetes 功能对比 谈谈Istio 连接 保护 控制 观测 结论 参考资料微服务架构被认为是构建大型复杂系统的最佳理论指导,其采用了分而治之、单一职责、关注点分离等方法论来设计系统架构。微服务的实现方式和思路有很多种,本文简述基于kuberne...转载 2019-09-29 17:28:19 · 2018 阅读 · 0 评论 -
SpringBoot日志记录切面Aspect--项目案例实战
因为项目需要,有时需要针对两个系统对接提供的接口服务,记录调用日志,包括请求IP、请求参数、响应时间、响应信息、异常信息等,并保存到数据库。下面案例,使用的是SpringBoot构建,采用Swagger2提供了页面测试功能,发布RESTful API,你可以根据这个进行自己的个性化定制。1. pom.xml 主要依赖如下: <dependency&g...原创 2019-07-31 09:05:12 · 759 阅读 · 0 评论