SpringBoot
文章平均质量分 84
SpringBoot及相关整合
qqxhb
【内推】【社招】【校招】【实习】【字节跳动】
字节内推,职位类别涵盖研发、产品、运营、设计、市场、销售、职能/支持、教研教学、游戏策划多个方向,具体职位信息可访问内推地址查看。
内推的优势是可以让你的简历被优先筛选哦,欢迎投递!
字节跳动校招内推码: 4PNP6DF
投递链接: https://jobs.toutiao.com/s/eJ161U5
社招:https://job.toutiao.com/s/e1oKkLm
个人公众号:了不起的我和你
展开
-
Spring全家桶及核心知识点梳理全解
1. Spring全家桶Spring Framework,也就是我们常说的 Spring 框架,包括了 IoC 依赖注入,Context 上下文、 Bean 管理、SpringMVC 等众多功能模块,其他 Spring 项目比如 Spring Boot 也会依赖 Spring 框架。Spring Boot 的目标是简化 Spring 应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式 Web 服务器,含有诸多开箱即用的微服务功能,可以和 Spring Cloud 联合部署。Spring Boot原创 2020-06-29 09:11:08 · 575 阅读 · 0 评论 -
Docker网络及Docker Compose并编排微服务
1. Docker 网络Docker允许通过外部访问容器或容器互联的方式来提供网络服务。安装Docker时,会自动安装一块Docker网卡称为docker0,用于Docker各容器及宿主机的网络通信,网段为172.0.0.1。1. 1. Docker网络基本概念Docker网络中有三个核心概念:沙盒(Sandbox)、网络(Network)、端点(Endpoint)。沙盒,提供了容器的...原创 2020-03-10 11:47:05 · 491 阅读 · 0 评论 -
Spring Cloud——链路跟踪Sleuth
上篇:Spring Cloud——配置中心Config1. 为什么需要Spring Cloud Sleuth微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去...原创 2020-03-07 15:01:43 · 313 阅读 · 0 评论 -
Spring Cloud——分布式配置中心Spring Cloud Config
上篇:Spring Cloud——分布式系统延迟容错组件Hystrix断路器1. Spring Cloud Config简介Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为server端和client端。server端为分布式配置中心,是一个独立的微服务应用;client端为分布式系统中的基础设置或微服务应用,通过指定配置中心来管理...原创 2020-03-06 19:17:45 · 143 阅读 · 0 评论 -
Spring Cloud——分布式系统延迟容错组件Hystrix断路器
上篇:Spring Cloud——负载均衡Ribbon和远程调用Feign原理和示例1. hystrix简介Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之...原创 2020-03-01 16:32:01 · 443 阅读 · 0 评论 -
Ribbon 负载均衡算法源码及自定义
Spring Cloud——负载均衡Ribbon和远程调用Feign原理和示例Ribbon时Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询、随机等。我们也可以自定负载均衡算法。IRule负载均衡算法的...原创 2020-02-27 13:33:31 · 584 阅读 · 0 评论 -
Spring Cloud——负载均衡Ribbon和远程调用Feign原理和示例
前篇:Spring Cloud——Eureka注册中心原理及示例官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.2.1.RELEASE/reference/html/#spring-cloud-ribbon在前后端分离架构中,服务层被拆分成了很多的微服务,服务与服务之间难免发生交互,本节研究微服务远程调...原创 2020-02-25 10:39:48 · 1126 阅读 · 0 评论 -
Spring Boot定义Starter超简单
相信在了解SpringBoot时后已经知道了starter是SpringBoot的核心组成部分,SpringBoot为我们提供了尽可能完善的封装,提供了一系列的自动化配置的starter插件,我们在使用只需要在pom.xml配置文件内添加依赖就可以了,很好的降低了使用框架时的复杂度。那我们如何实现一个自己的starter呢?1. 知识点回顾@ConfigurationProperties,该...原创 2020-02-19 12:07:59 · 213 阅读 · 0 评论 -
Spring中的重要接口
1. BeanFactoryPostProcessor接口官网地址:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-factory-extension-factory-postprocessorsorg.springframework.beans.facto...原创 2020-01-14 18:09:16 · 406 阅读 · 0 评论 -
完整Spring Bean的生命周期源码解析
结合源码及测试代码分析Spring Bean的完整生命周期。原创 2019-12-31 11:35:56 · 729 阅读 · 1 评论 -
Spring Bean后置处理器(BeanPostProcessor及其子接口)源码分析
根据源码梳理生命周期过程中的Bean后置处理器调用过程。包括BeanPostProcessor接口及其子接口(InstantiationAwareBeanPostProcessor、SmartInstantiationAwareBeanPostProcessor、MergedBeanDefinitionPostProcessor)的方法,贯穿整个Bean的实例化及初始化过程。原创 2019-12-30 16:01:42 · 483 阅读 · 0 评论 -
深入源码看Spring AOP原理,真的很简单!
基本概念及使用请查看上篇博文:https://blog.csdn.net/qq_43792385/article/details/103251788首先是引入spring-aop的包(springboot版本)<dependency> <groupId>org.springframework.boot</groupId> <artifact...原创 2019-12-16 11:56:53 · 127 阅读 · 0 评论 -
Spring整合Mybatis源码流程及一级缓存失效原因分析
本文主要结合源码分析流程,整合步骤请查看之前博文https://blog.csdn.net/qq_43792385/article/details/90017967为了使用Spring整合mybatis,需要引入mybatis为接入spring开发的包,为了方便这里直接引入springboot整合包<dependency> <groupId>org.mybatis...原创 2019-11-28 15:49:55 · 200 阅读 · 0 评论 -
面向切面编程——Spring AOP
1.基本概念切面(Aspect): 切入业务流程的一个独立模块,一般是将和核心业务逻辑无关的公用功能抽出来作为切面,横切入业务代码需要的地方。spring中的声明式事务管理就是一种实现,日志、权限校验也是不错的应用场景。可以使用注解@Aspect标识某个类是切面类。连接点(Join point): 就是和实际业务的哪个点切入,这个点就叫连接点。在Spring AOP中,一个连接点就是一...原创 2019-11-26 15:59:03 · 122 阅读 · 0 评论 -
Spring Boot 各种配置方式使用和区别详解
1. 使用@ConfigurationProperties该注解可以有三个配置可以设置:@Target({ ElementType.TYPE, ElementType.METHOD })@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ConfigurationProperties { /** * 设置...原创 2019-11-25 15:08:47 · 264 阅读 · 0 评论 -
FactoryBean和BeanFactory及ApplicationContext
1、FactoryBean官网:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-factory-extension-factorybeanYou can implement the org.springframework.beans.factory.Fact...原创 2019-11-05 11:42:31 · 206 阅读 · 0 评论 -
Docker搭建Elasticsearch集群、整合Springboot
1、全文搜索1.1、倒排索引倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。正排索引:转化成倒排索引:说明:“单词ID”一栏记...原创 2019-10-30 19:57:59 · 469 阅读 · 0 评论 -
RocketMQ重试策略及与Springboot整合
注:基础请参考上一篇文章RocketMQ简介与安装及入门1. 重试策略在消息的发送和消费过程中,都有可能出现错误,如网络异常等,出现了错误就需要进行错误重试,这种消息的重试需要分2种,分别是producer端重试和consumer端重试。1.1 producer端重试生产者端的消息失败,也就是Producer往MQ上发消息没有发送成功,比如网络抖动导致生产者发送消息到MQ失败。impor...原创 2019-10-11 18:08:11 · 4196 阅读 · 7 评论 -
Docker安装MongoDB及与Springboot整合
注:基本用法普通安装请查看之前一篇文章:mongodb入门级权威指南1. 通过docker安装MongoDB#拉取镜像docker pull mongo:4.0.3#创建容器docker create --name mongodb -p 27017:27017 -v /data/mongodb:/data/db mongo:4.0.3#启动容器docker start mongodb...原创 2019-10-11 15:32:47 · 466 阅读 · 0 评论 -
Shiro会话管理及与SpringBoot整合
1、Shiro中的会话管理在shiro里所有的用户的会话信息都会由Shiro来进行控制,shiro提供的会话可以用于JavaSE/JavaEE环境,不依赖于任何底层容器,可以独立使用,是完整的会话模块。通过Shiro的会话管理器(SessionManager)进行统一的会话管理。1.1 什么是shiro的会话管理SessionManager(会话管理器):管理所有Subject的sessio...原创 2019-08-13 11:38:09 · 393 阅读 · 0 评论 -
认证授权示例——JWT及Shiro
1、常见的认证机制1.1 HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的usernamepassword,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量...原创 2019-08-12 19:46:54 · 2932 阅读 · 2 评论 -
工作流引擎-Activiti进阶篇
基础知识及入门示例见:工作流引擎-Activiti基础篇1、 流程实例1.1 什么是流程实例参与者(可以是用户也可以是程序)按照流程定义内容发起一个流程,这就是一个流程实例。是动态的。1.2 启动流程实例流程定义部署在 activiti后,就可以在系统中通过 activiti去管理该流程的执行,执行流程表示流程的一次执行。比如部署系统请假流程后,如果某用户要申请请假这时就需要执行这个...原创 2019-08-07 11:44:51 · 727 阅读 · 0 评论 -
Spring-Cloud 网关Zuul原理及示例
本文中的网关校验基于上篇博文 认证授权-Spring-Cloud Security。网关的作用相当于一个过虑器、拦截器,它可以拦截多个系统的请求。本文主要使用网关校验用户的身份是否合法。1. Zuul 介绍1.1 什么是Zuul?Spring Cloud Zuul是整合Netflix公司的Zuul开源项目实现的微服务网关,它实现了请求路由、负载均衡、校验过虑等 功能。官网:https://...原创 2019-06-26 16:14:16 · 458 阅读 · 0 评论 -
认证授权-Spring-Cloud Security
1. 基础概念1.1 用户认证与授权什么是用户身份认证?用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录,指纹打卡等方式。什么是用户授权?用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权限,只允许访问有权限的系统资源,没有权限的资源将无法访问,这个过程叫用户授权。1.2 单点登录单点...原创 2019-06-25 11:20:47 · 1820 阅读 · 0 评论 -
Spring Cloud——Eureka注册中心原理及示例
1 Eureka 注册中心1.1 需求分析在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。1.2 为什么要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题...原创 2019-06-09 19:24:52 · 462 阅读 · 0 评论 -
Springboot 自定义注解、切面
本文实现的是使用自定义注解作为切入点。1、创建springboot工程,引入依赖本次任务实例主要引入以下两个依赖即可。 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...原创 2019-06-08 12:16:08 · 3631 阅读 · 1 评论 -
springboot+druid+mybatis plus的多数据源配置
注:本文主要介绍基于注解的方式,适合于有一个主库,其他库只使用个别表的情形,我会在文末贴出使用切面方式博客地址。1、创建工程引入依赖使用动态数据源不一样的是需要引入dynamic-datasource-spring-boot-starter包。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://mave...原创 2019-06-04 11:01:47 · 4646 阅读 · 2 评论 -
RabbitMQ 基本api使用 以及和spring、springboot整合
1 RabbitMQ介绍1.1 RabbitMQ简介及使用场景MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官网消息队列应用场景:任务异步处理。将不需要同...原创 2019-06-02 18:00:55 · 2034 阅读 · 0 评论 -
FreeMarker 入门示例及操作手册
1 FreeMarker 简介1.1 java模板引擎之一FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的...原创 2019-06-02 12:37:23 · 579 阅读 · 0 评论 -
Springboot ControllerAdvice轻松搞定全局异常处理
本文在 【从零到一 Springboot+Mybatis_Plus示例】 的基础之上,提出问题分析改进。1 、 问题分析首先看一段上文的服务是实现类(NewsServiceImpl)的示例代码:/** * 添加新闻 * * @param title * @param summary * @return */ public boolean insertNews(St...原创 2019-05-25 21:46:29 · 375 阅读 · 0 评论 -
Springboot基础及原理源码解析
一、 SpringBoot简介1.1 原有Spring优缺点分析1.1.1 Spring的优点分析Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Pla...原创 2019-05-24 18:37:56 · 311 阅读 · 0 评论 -
从零到一 Springboot+Mybatis_Plus示例
表结构仍然使用上一篇的结构1、建表新建一张测试表,演示使用。DROP TABLE IF EXISTS `news`;CREATE TABLE `news` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NU...原创 2019-05-10 13:58:16 · 162 阅读 · 0 评论 -
从零到一 Springboot+Mybatis_XML示例
1、建表新建一张测试表,演示使用。DROP TABLE IF EXISTS `news`;CREATE TABLE `news` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `summary...原创 2019-05-09 10:11:12 · 152 阅读 · 0 评论 -
数据库事务隔离级别及Spring事物传播行为详解
1、事务1.1 事务的含义事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,事务是逻辑上的一组操作,要么都执行,要么都不执行。1.2 事务的四大特性数据库事务四大特性简称为ACID:原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。事务在执行过程中发生错误...原创 2019-10-10 15:48:44 · 178 阅读 · 0 评论 -
WebSocket入门及整合Springboot
1、 简介1.1、网站中的消息功能如何实现?解决方案,采用轮询的方式。即:通过js不断的请求服务器,查看是否有新数据,如果有,就获取到新数据。这种解决方法是否存在问题呢?当然是有的,如果服务端一直没有新的数据,那么js也是需要一直的轮询查询数据,这就是一种资源的浪费。那么,有没有更好的解决方案? 有!那就是采用WebSocket技术来解决。1.2、什么是WebSocket?WebSoc...原创 2019-09-03 14:06:05 · 266 阅读 · 0 评论