
SpringBoot+SpringCloud
文章平均质量分 88
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没
忧伤夏天的风
热爱生活,喜欢技术,喜欢极具挑战与充实的人生
展开
-
SpringBoot + EhCache实现本地缓存
一、EhCache 介绍1.1 什么是EhCache ?EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache)原创 2021-02-22 17:26:25 · 2553 阅读 · 1 评论 -
SpringBoot+SpringSecurity+JWT实现认证和授权
一、背景:在 B/S 系统中,登录功基本都是依靠 Cookie 来实现的,用户登录成功之后主要需要客户端和服务端完成以下两项工作:(1)服务端将登录状态记录到 Session 中,或者签发Token;(2)客户端利用Cookie保存于服务端对应的 Session ID 或 Token。之后每次请求都会带上Cookie信息(包含Session ID或者Token),当服务端收到请求后,通过验证 Cookie 中的信息来判断用户是否登录 。单点登录:单点登录(Single Sign On, S.原创 2021-01-17 23:40:52 · 55110 阅读 · 27 评论 -
从零快速搭建一个SpringBoot Web项目
从零快速搭建一个SpringBoot Web项目环境:IDEA+Navicat+Jdk1.8+Mysql5.7 SpringBoot+Thymeleaf+SpringData-JPA+apache-shiro目录从零快速搭建一个SpringBoot Web项目一、新建一个SpringBoot项目1.1 选择新增:File->New->Project1.2 选择Spring Initializr,指定JDK版本,直接下一步1.3填写项目相关信息,然后下一步...原创 2021-01-13 21:36:39 · 853 阅读 · 0 评论 -
SpringBoot + Activiti 工作流引擎(二、流程&任务操作)
1. SpringBoot + Activiti 工作流引擎(一、基本概念与环境搭建)2.SpringBoot + Activiti 工作流引擎(二、流程&任务操作)经过第一章的操作,我们已经完成了SpringBoot 与activi的整合环境搭建,本文将着重介绍如何在整合好的项目中完成流程的部署、流程启动、任务查询、任务处理、查询流程实例进度情况等内容。一、流程部署/** * 部署请假流程 */ @GetMapping("deploy") public原创 2021-01-10 19:10:48 · 25041 阅读 · 2 评论 -
SpringBoot + Activiti 工作流引擎(一、基本概念与环境搭建)
SpringBoot + Activiti一、什么是ActivitiActiviti是一个轻量级的工作流和业务流程管理(BPM)平台,面向业务人员,开发人员和系统管理员。它的核心是用于Java的超快速,坚固的BPMN 2流程引擎。它是开源的,并根据Apache许可进行分发。Activiti可以在任何Java应用程序,服务器,集群或云中运行。它与Spring完美集成,非常轻巧,基于简单的概念。我们可以通俗一点理解,Activiti工作流就是将我们日常的流程(例如:请假、报销、岗位调整等流程)规范起来,将原创 2020-12-13 23:05:33 · 13688 阅读 · 2 评论 -
快速从零搭建一个SpringBoot Web项目
从零快速搭建一个SpringBoot Web项目环境:IDEA+Navicat+Jdk1.8+Mysql5.7 SpringBoot+Thymeleaf+Mybatis+SpringSecurity目录从零快速搭建一个SpringBoot Web项目 1一、新建一个SpringBoot项目 21.1 选择新增:File->New->Project 21.2 选择Spring Initializr,指定JDK版本,直接下一步 31.3填写项目相关信息,然后下一步 3原创 2020-12-02 11:15:56 · 8589 阅读 · 2 评论 -
SpringBoot+RabbitMQ 实现消息队列
概论消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 。消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景。RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP)原创 2020-11-23 22:58:45 · 2299 阅读 · 0 评论 -
springboot+sms 集成腾讯云短信平台
springboot+sms 集成腾讯云短信平台实现发送短信功能一、申请短信功能到腾讯云管理平台申请短信功能(https://console.cloud.tencent.com/)1.1 创建短信签名1.2创建短信正文模板1.3 创建应用可使用系统默认应用或者创建新应用二、集成短信功能查看腾讯云账户密钥对 secretId 和 secretKey(https://console.cloud.tencent.com/cam/capi)springbo..原创 2020-11-22 23:29:40 · 2216 阅读 · 1 评论 -
ShardingSphere-ShardingJdbc 数据脱敏
摘要:数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。百度百科给出的解释:数据脱敏指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。数据安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。数据库安全风险包括:拖库、刷库、撞库。开发系统原创 2020-10-25 20:47:31 · 2128 阅读 · 1 评论 -
ShardingSphere-ShardingJdbc 读写分离
一、读写分离背景分库分表虽然可以优化数据库操作。但是要实现高并发,主从架构就应运而生了,数据库的主从复制架构,将数据库的写操作定位到主库中进行,主库和从库之间通过异步复制、半同步复制保持数据一致。所有的读操作都在主库的N个从库上进行。通过负载均衡使得每一次查询均匀的落在每一个从库上。一主n从,做读写分离(数据写入主库,通过mysql数据同步机制将主库数据同步到从库–>程序读取从库数据),多个从库之间可以实现负载均衡。次外,ShardingSphere-ShardingJdbc可手动强制部分读请求到原创 2020-10-25 17:52:48 · 4390 阅读 · 10 评论 -
ShardingSphere-ShardingJdbc 数据分片(分库、分表)
ShardingSphere 数据分片(分库、分表)摘要:我们实际开发中,总有几张和业务相关的大表,这里的大表是指数据量巨大。如用户表、订单表,又或者公司业务中的主表,可能很快这种表的数据就达到了百万、千万、亿级别的规模,并且增长规模一直很快。这种情况下,单表已经满足不了了存储需求了,同时,这么大的数据量,即使搭配合理的索引,数据库查询也是很慢的,这时就需要对这些大表进行分库、分表。应用需要能对sql进行解析、改...原创 2020-10-25 16:10:02 · 3758 阅读 · 0 评论 -
Springboot+Redis 实现API接口防刷限流
前言在开发分布式高并发系统时有三把利器用来保护系统:缓存、降级、限流。缓存缓存的目的是提升系统访问速度和增大系统处理容量降级降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开限流限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理本文主要讲的是api接口限流相关内容,虽然不是论述高并发概念中的限流, 不过道理都差不多。通过限流可以让系统维持在一个相对原创 2020-10-22 22:59:50 · 3801 阅读 · 0 评论 -
SpringBoot + validation 接口参数校验
摘要 有参数传递的地方都少不了参数校验。在web开发中,前端的参数校验是为了用户体验,后端的参数校验是为了安全。试想一下,如果在controller层中没有经过任何校验的参数通过service层、dao层一路来到了数据库就可能导致严重的后果,最好的结果是查不出数据,严重一点就是报错,如果这些没有被校验的参数中包含了恶意代码,那就可能导致更严重的后果。实践一、引入依赖<!--引入spring-boot-starter-validation--><depend...原创 2020-10-21 00:19:40 · 1600 阅读 · 3 评论 -
SpringBoot 整合MyBatis-Plus
一、什么是MyBatis-PlusMybatis是作为一个半自动的持久层ORM框架一直以其可以直接在XML中通过SQL语句操作数据库的灵活可控稳居持久层框架前列。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。而我们今天要介绍的Mybatis-Plus就是为了解决这些问题的。Mybatis-Plus是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生(官方定义)。它已经封装好了一些crud方法,单表的增删改查可以不用在xml中写原创 2020-06-06 23:35:08 · 620 阅读 · 0 评论 -
SpringBoot整合Shiro安全框架
什么是ShiroShiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理。Shiro首要的和最重要的目标就是容易使用并且容易理解,通过Shiro易于理解的API,您可以快速、轻松地获得任何应用程序——从最小的移动应用程序最大的网络和企业应用程序。Shiro架构Shiro架构图- Authentication:身份认证/登录- Authorization:验证权限,即,验证某个人是否有做某件事的权限。- Session Management:会话管理。管理原创 2020-06-05 22:41:22 · 1003 阅读 · 3 评论 -
SpringBoot + Vue 搭建 Blog(三)-- 集成antd design
一、什么是antd design官网:https://www.antdv.com/docs/vue/introduce-cn/蚂蚁金服体验技术部经过大量的项目实践和总结,沉淀出设计语言 Ant Design。旨在统一中台项目的前端 UI 设计,屏蔽不必要的设计差异和实现成本,解放设计和前端的研发资源。目前有阿里、美团、滴滴、简书采用。Ant Design 是一个致力于提升『用户』和『设计者』使用体验的中台设计语言。它模糊了产品经理、交互设计师、视觉设计师、前端工程师、开发工程师等角色边界,将进.原创 2020-05-27 23:28:46 · 1190 阅读 · 0 评论 -
SpringBoot + Vue 搭建 Blog(二)-- Vue-Router入门
概论Vue是一个单页面应用(无法通过普通的html中的<a href="***">来实现跳转),我们要实现界面切换,必须要了解什么是路由、Vue中是怎么使用路由的。一、什么是Vue-Router为了弥补Vue在开发时对路由支持的不足,官方补充了vue-router插件,它在Vue的生态环境中非常重要,在实际开发中只要编写一个页面就会操作vue-router。对于大多数单页面应用,都推荐使用官方支持的vue-router 库。更多细节可以移步vue-router 文档。官方..原创 2020-05-27 23:11:09 · 518 阅读 · 0 评论 -
SpringBoot + Vue 搭建 Blog(一)-- 安装 vue-cli 脚手架
一、环境准备首先我们需要在自己的开发机器上安装nodeJs,如果不确定自己是否已经安装,可以使用以下命令查看:node -v #查看node版本,检查是否安装nodenpm -vyarn -v如果正常显示版本,则说明已经安装了nodeJs,如果没有安装,可以访问node官网:http://nodejs.cn/download/,下载安装node。二、Vue CLI 全局安装安装命令:npm install -g vue-cli # -g 全局安装使用npm可能会..原创 2020-05-26 23:26:52 · 548 阅读 · 0 评论 -
SpringBoot + Redis 实现分布式缓存
SpringBoot + Redis 实现缓存一、在pom中添加依赖<!--springboot redis依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></depen...原创 2020-05-12 23:47:54 · 2629 阅读 · 2 评论 -
SpringBoot应用部署到外置Tomcat
概述SpringBoot让我们实现了简单、方便、快速的创建一个Spring Web项目,其约定优于配置的模式让我们少写了大量的配置。内置tomcat更是让开发用得爽歪歪,但如果我们需要将SpringBoot项目发布到外置tomcat中,该如何操作呢?一、修改Tomcat的打包方式在pom.xml中将打包方式改成war<packaging>war</packagi...原创 2020-04-24 00:14:19 · 758 阅读 · 0 评论 -
SpringBoot 整合Mybatis
一、前言1.1Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久...原创 2019-04-16 00:17:15 · 943 阅读 · 0 评论 -
SpringBoot 整合Mail实现邮件发送
一、简介 邮件发送是网络应用中最常用的扩展功能之一,用户注册、忘记密码、动态验证码登录、发送运营情况等等都要使用到邮件的发送。在Spring发展的早期就提供了非常好用的JavaMailSender接口实现邮件发送,而在Spring Boot的Starter模块中也为此提供了自动化配置,更加简化了邮件发送的过程。二、引入依赖在Spring Boot的工程中的pom.xml...原创 2019-03-10 21:42:20 · 1543 阅读 · 1 评论 -
SpringBoot 动态数据源(aop多数据源动态切换)
一、应用场景 大部分单一架构项目连接一台数据库服务器,但随着业务的增加数据库数据量不断飙升,数据库达到性能瓶颈,大部分技术人员都会对数据库主从配置;既然读写分离那就需要连接两个不同的数据库,这时候Spring多数据源管理类AbstractRoutingDataSource就要派上用场了(排除使用数据库集群管理工具统一管理的应用场景)源码分析:public abstrac...原创 2019-02-13 09:46:59 · 2608 阅读 · 0 评论 -
SpringBoot+WebSocket在线聊天室、消息推送
一、WebSocket简介 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 传统的HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型,通信请求只能由客户...原创 2019-02-01 14:41:07 · 2985 阅读 · 2 评论 -
SpringBoot+Spring Security基于内存用户认证
一、Spring Security框架1. 框架简介 官方介绍:Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足...原创 2019-01-29 10:24:27 · 3297 阅读 · 0 评论 -
SpringBoot+SpringData JPA操作Mysql数据库
一、什么是JPA JPA本身并不是一种框架,是一种规范,其全称是Java Persistence API,是是Sun官方提出的Java持久化规范,而他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,并且其是在充分吸收了现有Hibernate,TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。 Spring Data J...原创 2019-01-26 23:27:52 · 2120 阅读 · 2 评论 -
Zipkin分布式任务追踪
Zipkin分布式任务追踪zipkin简介Spring Cloud Sleuth的简介Span 的 Annotation 信息Span的生命周期Span 的存储方式更多 zipkin 学习资料:zipkin简介Zipkin 是一款开源的分布式实时数据追踪系统,由基于 Google Dapper 的论文设计而来,由 Twitter 公司提供开源实现,主要功能是聚集来自各个异构系统的实时监控数据,...转载 2018-12-26 10:52:40 · 464 阅读 · 0 评论 -
SpringBoot +JDBC连接Mysql数据库
SpringBoot 使用JDBC连接Mysql数据库 Spring连接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。一、在mysql中的test库中建立user表,...原创 2018-07-09 15:37:46 · 66904 阅读 · 23 评论 -
SpringBoot+thymeleaf模板
SpringBoot 整合thymeleaf模板一、什么是Thymeleaf模板 Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不...原创 2018-07-09 15:37:06 · 4548 阅读 · 0 评论 -
Spring Boot + FreeMarker模板
FreeMarker模板的使用 FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 FreeMarker是免费的,基于Apache许可证2.0 版本发布。其模板编写为 FreeMarker Template...原创 2018-07-09 15:36:28 · 784 阅读 · 0 评论 -
Spring Boot Server等内容的配置
SpringBoot配置属性之ServerSpringBoot配置属性之Server:直接在application.properties中修改保存即可生效一、server配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...原创 2018-07-09 15:35:51 · 1153 阅读 · 0 评论 -
Spring Boot 资源文件属性配置
Spring Boot 资源文件属性配置 配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。在pom.xml中添加: 1 2 3 4 5 <dependency> &...原创 2018-07-09 15:35:17 · 582 阅读 · 0 评论 -
SpringBoot热部署值devtools配置
SpringBoot通过配置devtools实现热部署概要: 基于Maven的SpringBoot项目,通过配置spring-boot-devtools模块来使Spring Boot应用支持热部署,无需每次更改代码都要手动项目,提高开发者的开发效率步骤:一、在项目的pom.xml文件添加如下两段<dependency> <groupId>or...原创 2018-07-09 15:34:22 · 397 阅读 · 0 评论 -
Spring Boot入门之Hello Spring Boot
Spring Boot 入门很简单前言Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备。一、什么是 Spring Boot它使用 “习惯优于配置” (项目中存在很多默认的配置,使用者只需要做极少的配置即可)的理念让你的项目快速运行起来; 它并不是什么新的框架,而是默认配置了很多框架的...原创 2018-07-09 15:33:10 · 1691 阅读 · 0 评论