Spring体系框架应用
文章平均质量分 87
SSM、SpringBoot、SpringCloud等框架的应用
悬浮海
正在准备系列内容,更新较少。
展开
-
狂神-SpringCloud笔记目录
【笔记整理来源 B站UP主狂神说https://www.bilibili.com/video/BV1jJ411S7xr】一、微服务与分布式架构二、微服务概述三、SpringCloud入门概述四、SpringCloud Rest学习环境搭建:服务提供者五、Eureka服务注册中心六、Ribbon:负载均衡(基于客户端)七、Feign:负载均衡、八、Hystrix:服务熔断九、Zull路由网关十、Spring Cloud Config 分布式配置十一、总结和展望......原创 2022-03-21 19:22:47 · 413 阅读 · 0 评论 -
Spring Cloud Eureka源码分析之三级缓存的设计原理及源码分析
Eureka Server 为了提供响应效率,提供了三层的缓存结构,将 Eureka Client 所需要的注册信息,直接存储在缓存结构中,实现原理如下图所示。 registry 注册表 没什么特殊的。readWriteCacheMap,本质上是 Guava 缓存。写入缓存:readWriteCacheMap 的数据主要同步于存储层。当获取缓存时判断缓存中是否有数据,如果不存在此数据,则通过 CacheLoader 的 load 方法去加载,加载成功之后将数据放入缓存,同时返回数据原创 2022-06-19 17:31:28 · 1293 阅读 · 0 评论 -
狂神-SpringBoot笔记目录
【笔记整理来源 B站狂神说https://www.bilibili.com/video/BV1PE411i7CV】一、SpringBoot简介二、微服务三、第一个SpringBoot程序四、SpringBoo原理初探【重点】五、yaml语法学习六、多环境切换七、自动配置原理【重点】八、SpringBoot Web 开发前准备九、一个简单的员工管理系统十、整合JDBC十一、整合Druid十二、整合MyBatis十三、SpringSecurity(安全)十四、项目集成Swagger原创 2022-03-22 09:46:31 · 488 阅读 · 0 评论 -
十一、【SpringCloud】总结和展望
狂神-SpringCloud笔记目录文章目录十一、总结和展望十一、总结和展望代码没多少,重点在理论,在思想。代码仓库地址:原创 2022-03-22 09:34:05 · 146 阅读 · 0 评论 -
十、Spring Cloud Config 分布式配置
狂神-SpringCloud笔记目录文章目录十、Spring Cloud Config 分布式配置10.1 概述10.2 入门案例10.2.1 服务端10.2.2 客户端10.2.3小案例十、Spring Cloud Config 分布式配置Dalston.RELEASESpring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和P原创 2022-03-22 09:32:45 · 345 阅读 · 0 评论 -
九、【SpringCloud】Zull路由网关
狂神-SpringCloud笔记目录文章目录九、Zull路由网关9.1 概述9.2 入门案例九、Zull路由网关9.1 概述什么是zuul?Zull包含了对请求的路由(用来跳转的)和过滤两个最主要功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,(之前我们在测试过程中,地址都是http://localhost:8001/dept/get/1 ,当然端口号还有8002、8003,但是实际我们应该把localhost:8001 这一部分隐藏起来,真实服务原创 2022-03-22 09:30:41 · 287 阅读 · 0 评论 -
八、【SpringCloud】Hystrix:服务熔断
狂神-SpringCloud笔记目录文章目录八、Hystrix:服务熔断8.1 服务雪崩8.2 什么是Hystrix?8.3 Hystrix能干嘛?8.4 服务熔断8.4.1 什么是服务熔断?8.4.2入门案例8.5 服务降级8.5.1 什么是服务降级?8.5.2 服务降级需要考虑的问题8.5.3 自动降级分类8.5.4 入门案例8.6 服务熔断和降级的区别8.7 Dashboard 流监控八、Hystrix:服务熔断分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依原创 2022-03-21 19:44:46 · 225 阅读 · 0 评论 -
七、【SpringCloud】Feign:负载均衡
狂神-SpringCloud笔记目录文章目录七、Feign:负载均衡7.1 Feign简介7.2 Feign的使用步骤7.3 Feign和Ribbon如何选择?七、Feign:负载均衡7.1 Feign简介Ribbon基于客户端。Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,也可以使用Feigin提供负载均衡的http客户端。(Feign就是在Ribbon的原创 2022-03-21 19:43:58 · 1312 阅读 · 0 评论 -
六、【SpringCloud】Ribbon:负载均衡(基于客户端)
狂神-SpringCloud笔记目录文章目录六、Ribbon:负载均衡(基于客户端)6.1 负载均衡以及Ribbon6.2 集成Ribbon6.3 使用Ribbon实现负载均衡六、Ribbon:负载均衡(基于客户端)6.1 负载均衡以及RibbonRibbon是什么?Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套 客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netf原创 2022-03-21 19:41:57 · 325 阅读 · 0 评论 -
五、【SpringCloud】Eureka服务注册中心
狂神-SpringCloud笔记目录文章目录五、Eureka服务注册中心5.1 什么是Eureka5.2 原理理解5.3 构建步骤5.3.1. eureka-server5.3.2. eureka-client5.3.3. EureKa自我保护机制:好死不如赖活着5.3.4. 注册进来的微服务,获取一些消息(团队开发会用到)5.4 Eureka:集群环境配置5.4.1. 初始化5.4.2. 集群成员相互关联5.5 对比和Zookeeper区别5.5.1. 回顾CAP原则5.5.2. ACID是什么?5.原创 2022-03-21 19:39:55 · 1394 阅读 · 0 评论 -
四、SpringCloud Rest学习环境搭建:服务提供者
狂神-SpringCloud笔记目录文章目录四、SpringCloud Rest学习环境搭建:服务提供者4.1 介绍4.2 SpringCloud版本选择4.3 创建父工程4.3.1 pom.xml4.3.2 DeptConsumerController.java4.3.3 ConfigBean.java四、SpringCloud Rest学习环境搭建:服务提供者4.1 介绍我们会使用一个Dept部门模块做一个微服务通用案例 Consumer消费者 (Client) 通过REST调用 Prov原创 2022-03-21 19:37:49 · 188 阅读 · 0 评论 -
三、SpringCloud入门概述
狂神-SpringCloud笔记目录文章目录三、SpringCloud入门概述3.1 SpringCloud是什么?3.2 SpringCloud和SpringBoot的关系3.3 Dubbo 和 SpringCloud技术选型3.3.1 分布式+服务治理Dubbo3.3.2 Dubbo 和 SpringCloud对比3.4 SpringCloud能干嘛?3.5 SpringCloud下载三、SpringCloud入门概述3.1 SpringCloud是什么?Spring官网:https://s原创 2022-03-21 19:35:19 · 793 阅读 · 0 评论 -
二、【SpringCloud】微服务概述
狂神-SpringCloud笔记目录文章目录二、微服务概述2.1 什么是微服务?2.2 微服务与微服务架构2.2.1微服务2.2.2微服务架构2.3 微服务优缺点2.4 微服务技术栈有那些?2.5 为什么选择SpringCloud作为微服务架构二、微服务概述2.1 什么是微服务?什么是微服务? 微服务(Microservice Architecture) 是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。究竟什么是微服务呢?我们在此引用ThoughtWorks 公司的首席科学家 Mart原创 2022-03-21 19:33:34 · 145 阅读 · 0 评论 -
一、【SpringCloud】微服务与分布式架构
狂神-SpringCloud笔记目录文章目录一、微服务与分布式架构1.1分布式架构1.2微服务架构1.3分布式架构的四个核心问题 与解决方案1.4 Spring Cloud 五大组件1.5面试常见问题一、微服务与分布式架构1.1分布式架构将一个大的系统,划分为多个业务模块,业务模块分别部署在不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。上图中的ServiceA,B,C,D分别是业务组件,通过API Geteway进行业务访问。(分布式需要做好事原创 2022-03-21 19:24:20 · 6788 阅读 · 1 评论 -
狂神-SpringCloud笔记-总
文章目录一、微服务与分布式架构1.1分布式架构1.2微服务架构1.3分布式架构的四个核心问题1.4 Spring Cloud 五大组件1.5面试常见问题二、微服务概述2.1 什么是微服务?2.2 微服务与微服务架构2.2.1微服务2.2.2微服务架构2.3 微服务优缺点2.4 微服务技术栈有那些?2.5 为什么选择SpringCloud作为微服务架构三、SpringCloud入门概述3.1 SpringCloud是什么?3.2 SpringCloud和SpringBoot的关系3.3 Dubbo 和 Spr原创 2021-09-22 00:03:26 · 1645 阅读 · 0 评论 -
十六、SpringBoot + Dubbo + Zookeeper 小案例
狂神-SpringBoot笔记目录文章目录十六、分布式 Dubbo + Zookeeper + SpringBoot16.1分布式理论16.1.1什么是分布式系统?16.1.2Dubbo文档16.1.3单一应用架构16.1.4垂直应用架构16.1.5分布式服务架构16.1.6流动计算架构16.2什么是RPC16.2.1RPC基本原理16.2.2步骤解析16.3测试环境搭建16.3.1什么是Dubbo16.3.2Dubbo环境搭建16.3.3 Window下安装zookeeper16.3.4window下原创 2022-03-23 14:13:10 · 219 阅读 · 0 评论 -
十五、【Spring Boot】异步、邮件、定时任务
狂神-SpringBoot笔记目录文章目录十五、异步、邮件、定时任务15.1异步任务15.2邮件任务15.3定时任务十五、异步、邮件、定时任务在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们原创 2022-03-23 14:12:44 · 362 阅读 · 0 评论 -
十四、Spring Boot 项目集成Swagger
狂神-SpringBoot笔记目录文章目录十四、项目集成Swagger14.1Swagger简介14.2SpringBoot集成Swagger14.3配置Swagger14.4配置扫描接口14.5配置Swagger开关14.6配置API分组14.7实体配置14.8常用注解14.9拓展:其他皮肤十四、项目集成Swagger学习目标:了解Swagger的概念及作用巩固前后端分离掌握在项目中集成Swagger自动生成API文档14.1Swagger简介前后端分离时代:前端 ->原创 2022-03-23 14:11:57 · 324 阅读 · 0 评论 -
十三、SpringBoot 整合 SpringSecurity(安全)
狂神-SpringBoot笔记目录文章目录十三、SpringSecurity(安全)13.1安全简介13.2实战测试13.2.1实验环境搭建13.2.2认识SpringSecurity13.2.3认证和授权13.2.4权限控制和注销13.2.5记住我13.2.6定制登录页13.2.7完整配置代码十三、SpringSecurity(安全)13.1安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安原创 2022-03-23 14:11:39 · 635 阅读 · 0 评论 -
十二、SpringBoot 整合MyBatis
狂神-SpringBoot笔记目录文章目录十二、整合MyBatis12.1整合测试十二、整合MyBatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.112.1整合测试原创 2022-03-23 14:11:02 · 116 阅读 · 0 评论 -
十一、SpringBoot 整合Druid
狂神-SpringBoot笔记目录文章目录十一、整合Druid11.1Druid简介11.2配置数据源11.3配置Druid数据源监控十一、整合Druid11.1Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB原创 2022-03-23 14:10:33 · 477 阅读 · 0 评论 -
十、【SpringBoot】整合JDBC
狂神-SpringBoot笔记目录文章目录十、整合JDBC10.1SpringData简介10.2整合JDBC10.2.1创建测试项目测试数据源10.2.2JDBCTemplate10.2.3测试十、整合JDBC10.1SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理原创 2022-03-23 14:09:54 · 168 阅读 · 0 评论 -
九、【SpringBoot】一个简单的员工管理系统
狂神-SpringBoot笔记目录文章目录九、一个简单的员工管理系统9.1准备工作9.2首页实现9.3页面国际化9.3.1准备工作9.3.2配置文件编写9.3.3配置文件生效探究9.3.4配置页面国际化值9.3.5配置国际化解析9.3.6总结9.4登录功能与登录拦截器9.5展现员工列表9.6添加,修改与删除员工9.7错误处理九、一个简单的员工管理系统这个系统不是完整的,它只是为了看一下,使用SpringBoot开发,我们要进行哪些操作!9.1准备工作导入lombok 依赖Lomb原创 2022-03-23 14:09:12 · 586 阅读 · 0 评论 -
八、SpringBoot Web 开发前准备
狂神-SpringBoot笔记目录文章目录八、SpringBoot Web 开发前准备8.1处理静态资源8.2首页和图标如何定制8.3Thymeleaf模板引擎8.3.1模板引擎8.3.2引入Thymeleaf8.3.3Thymeleaf分析8.3.4测试8.3.5Thymeleaf 语法学习8.4SpringMVC自动配置原理8.4.1官网阅读8.4.2ContentNegotiatingViewResolver 内容协商视图解析器8.4.3转换器和格式化器8.4.4修改SpringBoot的默认配置原创 2022-03-23 14:08:40 · 153 阅读 · 0 评论 -
七、【SpringBoot】自动配置原理【重点】
狂神-SpringBoot笔记目录文章目录七、自动配置原理【重点】7.1分析自动配置原理7.2精髓7.3了解:@Conditional七、自动配置原理【重点】配置文件到底能写什么?怎么写?SpringBoot官方文档中有大量的配置,我们无法全部记住7.1分析自动配置原理从spring.factories中选择一个类进入,我们以HttpEncodingAutoConfiguration(Http编码自动配置) 为例解释自动配置原理;//表示这是一个配置类,和以前编写的配置文件一原创 2022-03-23 14:08:11 · 197 阅读 · 0 评论 -
六、【SpringBoot】多环境切换
狂神-SpringBoot笔记目录文章目录六、多环境切换6.1多配置文件6.2yaml的多文档块6.3配置文件加载位置6.4拓展,运维小技巧六、多环境切换profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;6.1多配置文件我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yaml , 用来指定多个环境版本;例如:application-test.properties 代表测原创 2022-03-22 10:41:47 · 302 阅读 · 0 评论 -
五、【SpringBoot】yaml语法学习
狂神-SpringBoot笔记目录文章目录五、yaml语法学习5.1 SpringBoot的全局配置文件5.2 yaml概述5.3yaml基础语法5.4注入配置文件5.4.1yaml注入配置文件5.4.2加载指定的配置文件5.4.3配置文件占位符5.4.4回顾properties配置5.4.5对比小结5.5JSR303数据校验5.5.1先看看如何使用5.5.2常见参数五、yaml语法学习5.1 SpringBoot的全局配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的原创 2022-03-22 10:39:41 · 166 阅读 · 1 评论 -
四、SpringBoo原理初探【重点】
狂神-SpringBoot笔记目录文章目录四、SpringBoo原理初探【重点】4.1pom.xml文件4.1.1父依赖4.1.2启动器 spring-boot-starter4.2主启动类 (看注解)默认的主启动类4.2.1@SpringBootApplication4.2.1.1@ComponentScan4.2.1.2@SpringBootConfiguration4.2.1.3@EnableAutoConfiguration4.2.1.3.1 @AutoConfigurationPackage原创 2022-03-22 10:38:14 · 155 阅读 · 0 评论 -
三、第一个SpringBoot程序
狂神-SpringBoot笔记目录文章目录三、第一个SpringBoot程序3.1准备工作3.2创建基础项目说明3.3pom.xml 分析3.4编写一个http接口3.5将项目打成jar包,点击 maven的 package3.6小技巧三、第一个SpringBoot程序3.1准备工作我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理。通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。我的环境准备:java ver原创 2022-03-22 10:22:39 · 1460 阅读 · 0 评论 -
二、【SpringBoot】微服务
狂神-SpringBoot笔记目录文章目录二、微服务2.1什么是微服务2.2单体应用架构2.3微服务架构2.4如何构建微服务二、微服务2.1什么是微服务微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。要说微服务架构,先得说说过去我们的单体应用架构。2.2单体应用架构所谓单体应用架构(all in one)是指,我们将一个应用的中的所有应用服务都封装在一个应用中。无论是ERP、CRM或是其他什么系统,你都把数据原创 2022-03-22 10:22:15 · 250 阅读 · 0 评论 -
一、SpringBoot简介(SpringBoot与Spring的区别和联系)
springboot与spring的区别和联系原创 2022-03-22 10:18:54 · 1204 阅读 · 0 评论 -
狂神-SpringBoot笔记-总
SpringBootSpringBoot 是用来简化Spring的,本质上和Spring是一致的, 核心点是自动装配一、SpringBoot简介1.1回顾什么是SpringSpring是一个开源框架(就是一个容器,工厂),2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。1.2Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量原创 2020-10-25 22:16:29 · 6241 阅读 · 3 评论 -
Java中的注解是怎么发挥作用的?
注解原创 2022-09-05 20:11:50 · 2619 阅读 · 0 评论 -
Mybatis-plus的updateById()方法特性记录
使用Mybatis-plus的updateById()方法来更新一条记录时:只会更新不为null的字段,为null的字段会不变。在真实的线上环境是这样的。所以要是该方法,建议:new一个新的实体,将id赋值,然后把需要更新的字段set下。...原创 2022-05-17 09:59:08 · 18580 阅读 · 0 评论 -
spring事务(注解 @Transactional )失效的12种场景
文章目录一 、事务不生效【七种】1.访问权限问题 (只有public方法会生效)2. 方法用final修饰,不会生效3.同一个类中的方法直接内部调用,会导致事务失效3.1 新加一个Service方法3.2 在该Service类中注入自己3.3 通过AopContent类4.(类本身) 未被spring管理5.多线程调用6.(存储引擎)表不支持事务7.未开启事务二、事务不回滚【五种】1.错误的传播特性2.自己吞了异常3.手动抛了别的异常4.自定义了回滚异常5.嵌套事务回滚多了三、大事务与编程式事务1. 大事务原创 2021-11-25 22:16:21 · 2001 阅读 · 2 评论 -
Spring如何解决循环依赖?
文章目录介绍构造器的循环依赖属性的循环依赖总结一波介绍先说一下什么是循环依赖,Spring在初始化A的时候需要注入B,而初始化B的时候需要注入A,在Spring启动后这2个Bean都要被初始化完成Spring的循环依赖有两种场景构造器的循环依赖属性的循环依赖构造器的循环依赖,可以在构造函数中使用@Lazy注解延迟加载。在注入依赖时,先注入代理对象,当首次使用时再创建对象完成注入属性的循环依赖主要是通过3个map来解决的构造器的循环依赖@Componentpublic class Co原创 2021-11-25 22:07:51 · 354 阅读 · 0 评论 -
MyBatis-Plus
一、MyBatisPlus概述学习MyBatis-Plus之前要先学MyBatis–>Spring—>SpringMVC为什么要学它?MyBatisPlus可以节省我们大量的时间,所有CRUD代码都可以自动完成JPA, tk-mapper ,MyBatisPlus(都是用来自动生成CRUD代码的)偷懒用的!1.1简介是什么? MyBatis本来就是简化JDBC操作的!官网:https://baomidou.com/ MyBatisPlus 简化MyBatis!MyBatis原创 2021-09-13 12:49:59 · 417 阅读 · 0 评论 -
144 SSM与SSH
文章目录一、SSM说明二、实践:三、项目目录SSM与SSHMyBatis与Hibernate的优劣SH和SSM对比异同点、各自优势SSH和SSM定义共同点:不同点:SSH和SSM的实现原理Struts2 的实现原理SpringMVC 的实现原理:总结一、SSM说明ssm(Spring、SpringMVC、mybatis)整合:配置文件的整合:SpringMVC的配置文件(mvc.xml)单独一个、Spring的配置文件(applicationContext.xml)与mybatis的配置文件(my原创 2020-09-21 15:20:36 · 221 阅读 · 0 评论 -
143 LayUI
143 LayUI一、引言1.1介绍官网: https://www.layui.com/在官网首页,可以很方便的下载ayUILayUl是一款经典模块化前端UI框架,我们只需要定义简单的HTML、CSS、JS即可实现很复杂的前端效果。使得前端页面的制作变得更加简单。二、环境搭建2.1下载在官网即可完成下载2.2导入依赖下载的LayUI解压后,将其中的layui目录导入项目中三、页面元素3.1布局响应式栅格布局,每行分12等分<%@ page原创 2020-09-11 20:42:18 · 255 阅读 · 0 评论 -
142 Quartz
文章目录一、引言1.1简介二、Quartz使用2.1导入依赖2.2定义job2.3API测试2.4配置2.5核心类说明三、Trgger3.1 SimpleTrigger3.2 CronTrigger [重点]3.2.1 Cron表达式组成3.2.2 Cron表达式符号3.2.3 Cron表达式示例四、Spring整合Quartz 【重点】4.1依赖4.2定义job4.3配置4.4操作4.4.1启动任务4.4.2任务操作4.4.2.1删除任务4.4.2.2暂停、恢复4.4.2.5批量操作一、引言1.1简介原创 2020-09-11 20:40:35 · 322 阅读 · 0 评论