自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 spring cloud+spring boot直播电子商务小程序

涉及平台:平台管理(包含自营店面)、商家端(PC端、手机端)、买家平台(PC端、H5/公众号、小程序、APP端(IOS/Android)、业务微服务核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis前端框架:VUE、Bootstrap/H5/CSS3、IOS、Android、小程序核心思想:分布式、微服务、云架构、模块化、原子化、持续集成、集群部署开发模式:代码生成工具、驱动式开发模式、提高开发效率社交模式:VR全景虚拟现实线上线下、直播带货、短视频带

2020-06-18 09:22:29 289

原创 java版电子商务spring cloud分布式微服务b2b2c社交电商

涉及平台:平台管理(包含自营店面)、商家端(PC端、手机端)、买家平台(PC端、H5/公众号、小程序、APP端(IOS/Android)、业务微服务核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis前端框架:VUE、Bootstrap/H5/CSS3、IOS、Android、小程序核心思想:分布式、微服务、云架构、模块化、原子化、持续集成、集群部署开发模式:代码生成工具、驱动式开发模式、提高开发效率社交模式:VR全景虚拟现实线上线下、直播带货、短视频带

2020-06-16 10:20:51 144

原创 Spring Boot : Webflux 和 MVC 性能对比

前言最近在网上看到,很多人都讲 Spring Boot Webflux 要超过 SpringMVC ,感觉在高并发的场景下, Spring Boot Webflux 简直就是银弹。本文将通过最简单的方式,来简单测试对比一下 Spring Boot Webflux 和 SpringMVC 在高并发场景下的性能。准备首先介绍一下本人的硬件情况:CPU:因特尔的 i7-8700内存:16G DDR4 2666系统:win10压测工具选择 Apache 的 jmeter ,版本为 5.1.1.

2020-06-12 10:35:58 578

原创 Spring Boot : 优雅的使用 API 文档工具 Swagger2

引言各位在开发的过程中肯定遇到过被接口文档折磨的经历,由于 RESTful 接口的轻量化以及低耦合性,我们在修改接口后文档更新不及时,导致接口的调用方(无论是前端还是后端)经常抱怨接口与文档不一致。程序员的特点是特别不喜欢写文档,但是又同时特别不喜欢别人不写文档。快速上手既然 Swagger2 是一个 API 文档工具,我们就在代码中看一下这个文档工具在 Spring Boot 中是如何使用的吧。(了解源码可+求求: 1791743380)2.1 引入依赖代码清单:spring-boo..

2020-06-12 09:57:26 218

原创 Spring Boot: 响应式编程以及 Spring Boot Webflux 快速入门

什么是响应式编程在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。响应式编程是基于异步和事件驱动的非阻塞程序,只需要在程序内启动少量线程扩展,而不是水..

2020-06-11 09:20:20 347

原创 Spring Boot : Spring Boot 整合 RabbitMQ

前言RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷、消息分发的作用。消息队列在比较主要的一个作用是用来做应用服务的解耦,消息从消息的生产者传递到消息队列,消费者从消息队列中获取消息并进行消费,生产者不需要管是谁在消费消息,消费者也无需关注消息是由谁来生产的。在分布式的系统中,消息队列也会被用在其他地方,比如分布式事务的支持,代表如阿里开源的 RocketMQ 。当然,我们本篇文章的主角还是 RabbitMQ .

2020-06-11 09:15:15 155

原创 SpringCloud+SpringBoot+SSO单点登录之OAuth2.0 根据token获取用户信息(4)

上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程:Java代码 /** * 根据token获取用户信息 * @param accessToken * @return * @throws Exception */ @RequestMapping(value = "/user/token/{accesstoken}", method = RequestMethod.G

2020-06-10 14:20:03 715

原创 SpringCloud+SpringBoot+SSO单点登录之OAuth2.0登出流程(3)

上一篇我根据框架中OAuth2.0的使用总结,画了一个根据用户名+密码实现OAuth2.0的登录认证的流程图,今天我们看一下logout的流程:Java代码/** * 用户注销 * @param accessToken * @return */ @RequestMapping(value = "/user/logout", method = RequestMethod.POST) public ResponseVO userLogout(@Req

2020-06-10 14:17:24 456

原创 SpringCloud+SpringBoot+SSO单点登录之OAuth2.0登录流程(2)

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证):上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下:了解源码可+求求: 1791743380请求方式:POST服务URL: http://localhost:8080/user/login参数类型:application/jsonHead

2020-06-10 14:15:04 248

原创 SpringCloud+SpringBoot+SSO单点登录之OAuth2.0登录认证(1)

之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点:一、oauth中的角色client:调用资源服务器API的应用Oauth 2.0 Provider:包括Authorization Server和Resource Server(1)Authorization Server:认证服务器,进行认证和授权(2)Resource Server:资源服务器,保护受保护的资源use

2020-06-10 14:12:48 921

原创 Spring Boot : Spring Boot 邮件服务

1. 依赖文件 pom.xml代码清单:spring-boot-mail/pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <

2020-06-10 09:14:54 152

原创 Spring Boot : Spring Boot 定时任务

在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢?1. 添加依赖在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可:代码清单:spring-boot-scheduler/pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId>

2020-06-10 09:10:02 114

原创 Spring Boot: Spring Boot Admin 监控 Spring Boot 应用

1. 引言Spring Boot Actuator 提供了对单个 Spring Boot 的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了 Spring Boot 应用的整个生命周期。但是, Spring Boot Actuator 只为我们提供了监控的数据接口,而且返回的数据量非常的大,我们不可能通过人工肉眼的方式去分析这些返回的数据,肯定是希望能有一个图形化的界面帮助我们去分析这些信息,同时,在微服务的体系中,我们的服务数量是非常多的,这同样不方便我们人工管理,在这样的背景下,诞生了

2020-06-09 09:23:22 291

原创 Spring Boot : 微服务应用监控 Spring Boot Actuator 详解

1. 引言在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就显得尤为重要。万幸的是 Spring Boot 为我们提供了监控模块 Spring Boot Actuator ,本篇文章将和大家一起探讨一些 Spring Boot Actuator 一些常见用法方便我们在日常的使用中对我们的微服务进行监控治理。Spring Boot Actuator 帮我们实现了对程序

2020-06-09 09:17:18 661

原创 Mybatis 增强工具 MyBatis-Plus

1. 简介在目前微服务的架构模式下,每个服务拥有自己的单独的数据库,单表的使用场景会越来越多, Mybatis 的使用无疑会产生很多重复劳动。Mybatis Plus 在这样的背景下应运而生了,MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。而开源团队对这个开源项目的愿景如下:愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。2. 特性无侵入:只做

2020-06-08 11:16:17 545

原创 Mybatis极简配置

1. 前言ORM 框架的目的是简化编程中的数据库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写 SQL 的 Hibernate ,一个是对 SQL 非常友好的 Mybaties ,,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行业通常使用 Mybatis 。Hibernate 特点就是所有的 SQL 都用 Java 代码来生成,不用跳出程序去写(看) SQL ,有着编程的完整性,发展到最顶端就是

2020-06-08 11:09:43 103

原创 为 JPA 插上翅膀的 QueryDSL

1. 引言不可否认的是 JPA 使用是非常方便的,极简化的配置,只需要使用注解,无需任何 xml 的配置文件,语义简单易懂,但是,以上的一切都建立在单表查询的前提下的,我们可以使用 JPA 默认提供的方法,简单加轻松的完成 CRUD 操作。但是如果涉及到多表动态查询, JPA 的功能就显得有些捉襟见肘了,虽然我们可以使用注解 @Query ,在这个注解中写 SQL 或者 HQL 都是在拼接字符串,并且拼接后的字符串可读性非常的差,当然 JPA 还为我们提供了 Specification 来做这件事情,从

2020-06-05 09:21:38 176

原创 Spring Boot-Redis缓存使用姿势盘点

1. Redis 简介Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。可以说 Redis 兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍 Redis 在 Spring Boot 中两个典型的应用场景。2. Lettuce 简介如果在 Java 应用中使用过 Redis 缓存,那么对

2020-06-05 09:15:41 176 1

原创 Spring Boot : Druid 连接池密码加密与监控

1. Druid 是什么?我们先来看一下官方的回答:Druid 是 Java 语言中最好的数据库连接池。 Druid 能够提供强大的监控和扩展功能。说 Druid 是 Java 语言中最好的数据库连接池,这个笔者个人觉得有些吹牛了,至少在性能上和我们上一篇介绍的 Hikari 是没得比的,相关的性能测试在网上能找到很多。功能非常丰富:了解源码可+求求: 1791743380可以监控数据库访问性能, Druid 内置提供了一个功能强大的StatFilter插件,能够详细统计 SQL 的执行性能,这对

2020-06-04 09:57:18 286

原创 Spring Boot : ORM 框架 JPA 与连接池 Hikari

数据库方面我们选用 Mysql , Spring Boot 提供了直接使用 JDBC 的方式连接数据库,毕竟使用 JDBC 并不是很方便,需要我们自己写更多的代码才能使用,一般而言在 Spring Boot 中我们常用的 ORM 框架有 JPA 和 Mybaties ,本篇文章我们要介绍的就是 JPA 的使用姿势。说道使用 ORM 框架,就不得不顺便聊一下连接池,市面上很多成熟的数据库连接池,如 C3P0 、 Tomcat 连接池、 BoneCP 等等很多产品,但是我们为什么要介绍 Hikari ?这个要

2020-06-04 09:47:49 174

原创 Spring Boot (二):模版引擎 Thymeleaf 渲染 Web 页面

虽然我们目前拥有许多十分优秀的前端框架,例如: Vue 、 React 等,非常适用于前后端分离的场景,前端可以独立部署成为服务,前后端从物理上完全进行隔离,降低程序耦合度。但是 Spring Boot 官方依然为我们提供了模版引擎用于一些无需前后端分离的场景。 Thymeleaf 是新一代的模板引擎,在 Spring Boot 中,官方推荐使用 Thymeleaf 来做前端模版引擎。打开 https://start.spring.io/ 可以看到,在当前Spring Boot 的版本中( 2.1.8.RE

2020-06-03 09:17:50 154

原创 Spring Boot (一):快速开始

本系列文章旨在使用最小依赖、最简单配置,帮助初学者快速掌握Spring Boot各组件使用,达到快速入门的目的。全部文章所使用示例代码均同步Github仓库和Gitee仓库。Spring Boot是什么?Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。讲的通俗一点就是Spring Boot并不是一个新的框架,它只是整合和默认实现了很多框架的配

2020-06-03 09:14:02 132

原创 SpringCloud 第二十篇:Spring Cloud 之 okhttp

1. 什么是 okhttp ?okhttp 是由 square 公司开源的一个 http 客户端。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apache 的开源项目 HttpClient 作为 HTTP 客户端。Apache HttpClient 库的功能强大,使用率也很高。2. 为什么要使用 okhttp ?okh

2020-06-02 15:14:19 414

原创 SpringCloud 第十九章:Spring Cloud 组件 Docker 化

这一节我们介绍 Spring Cloud 组件的容器化,主要包括 eureka-server 、 gateway-server 和 provider-server 。1. Docker 化配置这里我们根据 dockerfile-maven-plugin 这个 maven 插件来构建,可以用来构建 docker 镜像的 maven 插件有很多,其中使用比较多的包括 docker-maven-plugin ,这两个插件是同一个人在 Github 上开源的, docker-maven-plugin 被作者标.

2020-06-02 14:54:30 137

原创 SpringCloud第十八篇:微服务 Docker 化之基础环境

容器化Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题。对于运维来讲,由于镜像的不可变性,更容易进行服务部署和回滚操作。利用各种第三方容器管理平台,实现一键部署、动态伸缩等操作变的轻而易举。基础镜像选择在操作系统的选择上,可选择传统的 CentOS 、 Ubuntu 或者更为轻量化的 Alpine 。比如 CentOS 或者 Ubuntu 的镜像都在 100MB 以上..

2020-06-01 10:38:32 114

原创 SpringCloud 第十七篇:服务网关Zuul基于Apollo动态路由

**Apollo概述Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:application (应用)environment (环境)cluster (集群)namespace (命名空间)Apollo相比于Spring Cloud Config优势Spring Cloud Config的精妙之处在于它的配置存储于

2020-06-01 10:09:29 145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除