![](https://img-blog.csdnimg.cn/20191205160447993.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring系
文章平均质量分 93
@coward
好好学习,天天进步
展开
-
分布式事务理论
什么是分布式事务在说什么是分布式事务之前我们先来回顾下单体架构项目的事务。单体架构项目的事务简单来说就是,一件事要么成功要么失败。即,这件事所包含的所有环节要么全部成功,要么全部失败。事务的4个特性,ACID,如下:事务原子性(atomicity),一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作。一致性(consistency),事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。**隔离性(isolation),**原创 2020-09-30 16:05:35 · 192 阅读 · 0 评论 -
SpringCloud(八)Spring Cloud Config(3)——与Eureka配合使用
前面的文章中,我们学习了eureka的使用示例,学习了Spring Cloud Config的使用示例。在实际场景中,我们搭建一个Spring Cloud微服务可能只用到Eureka,但是绝不会搭建一个Spring Cloud微服务可能只用到Spring Cloud Config。所以今天我们来看看Spring Cloud Config 如何和Eureka配合使用。项目源码托管地址:htt...原创 2019-12-24 17:21:18 · 349 阅读 · 0 评论 -
SpringCloud(八)Spring Cloud Config(2)——配置详解
上一篇文章中我们实现了一个简单的sring Cloud Config配置中心的简单demo。接下来我们学习下一些在实际场景中可能遇到的一些的复杂情况下的应对方法。我们如何配置Spring Cloud Config Server的git配置信息让其从远程git仓库拉取配置信息更灵活;为了安全,如何为配置属性进行加密;如何配置安全认证,如何让配置的属性刷新呢?我们带着这一系列问题往下看。下面实例...原创 2019-12-20 16:19:51 · 577 阅读 · 0 评论 -
SpringCloud(八)Spring Cloud Config(1)——基础入门
前面我们已经知道如何搭建一个Spring Cloud微服务架构的系统。这个架构里面可能有几个微服务,可能有几十个微服务,也可能有上百个微服务甚至更多。假如,有一天我们改下日志打印级别这个想法,如果只有少量的微服务我们可以一个一个去改,那么如果有非常多的微服务也要一个一个去改吗,不仅工作量大而且容器出错。这该怎么办呢?不要着急我们今天来看下这个东西Spring Cloud Config,它可以帮...原创 2019-12-04 18:00:54 · 285 阅读 · 0 评论 -
SpringCloud(七)Zuul——网关与路由
目录1 引言2. Zuul2.1 Zuul简介2.2 实战2.2.1 简单实例2.2.2 Zull指定path + serviceId2.2.3 Zuul指定path + url2.2.4 Zuul路由的strip-prefix2.2.5 Zuul使用正则表达式2.2.6 Zuul的Filter1 引言源码托管地址:https://github....原创 2019-11-28 11:14:35 · 435 阅读 · 0 评论 -
SpringCloud(六)Hystrix——断路器
刚出差回来,忙完一阵子,今天得以有空,那就多多更新下博客了。源码托管地址:https://github.com/cddofficial/SpringCloudRepo目录1 雪崩效应2. 解决方案2.1 超时机制2.1.1 使用RestTemplate+Ribbon2.1.2 使用Feign2.2 断路器hystrix3 hystrix断路器3.1 简介...原创 2019-11-26 11:36:02 · 363 阅读 · 0 评论 -
SpringCloud(五)Feign——更好用的通信方式
在微服务架构中,我们经常需要和其他服务进行通信实现数据交互,常用的方式有两种:一是RPC((Romote Procedure Call),另一种是HTTP。SpirngCloud 中,默认是使用HTTP进行微服务间通信,其中最常用的有两种实现形式也有两种:一RestTemplate,二是Feign,前者的用法我们在上一篇文章中已经见识过了。接下来我们就来看看feign是怎么回事呢!源码托管地址...原创 2019-11-25 15:09:47 · 1516 阅读 · 0 评论 -
SpringCloud(四)Ribbon——负载均衡
在上一篇文章中,我们创建了一个服务注册(或服务发现)服务,一个可乐服务,一个用户服务,并且后两个服务都注册到了服务注册服务上。在真实环境中我们的微服务架构通常要承载几十万,几百万,几千万甚至更高级别的流量考验,面对这种高并发场景,服务往往都是分布式部署。那么问题来了,我们如何让服务器集群的每个节点处理的请求数量相当呢,不至于一台服务器快要撑爆了,一台服务器无人问津,如何让每台服务器负载均衡呢?...原创 2019-11-22 18:07:56 · 353 阅读 · 0 评论 -
SpringCloud(三)Eureka——开始实战
前面的理论点已经讲了很多了,从分布式过度到微服务,一点一点把微服务的思想渗透给大家。接着又宏观的角度概述了下微服务的星星点点。好了,东风已到,开始实战。 源码托管地址:https://github.com/cddofficial/SpringCloudRepo目录1 Eureka1.1 简介1.2 原理1.3 服务提供者和消费者2.开始实战...原创 2019-11-16 18:01:17 · 607 阅读 · 0 评论 -
SpringCloud(二)初识微服务——开篇
记得上大学那会,有次我去图书馆找算法书,无意间看到了书架上摆着一本《微服务架构与实践》。当即,拿起来开始阅读,可是奈何当时水平太低,很多东西都看不懂,只知道是一些微小的服务,这是我与微服务的第一次邂逅。 好了,不回忆往事了。开始进入正题。目录1 微服务概述1.1 单体架构1.2 微服务架构1.3 微服务特性与优点1.3.1 特性1.3....原创 2019-11-12 19:33:33 · 303 阅读 · 1 评论 -
SpringCloud(一)理解微服务与分布式思想
相信不少同学都听说过微服务与分布式了,我们将要学习的Spring Cloud就是一种微服务框架,我们在学习Spring Cloud之前,先来梳理下微服务和分布式的概念,先理解下的他们的思想。只要思想理解了,其他的都操作就更好理解了。目录1.分布式1.1 概念1.2场景1.3 物理架构图2. 微服务2.1 概念2.2 实例2.3 场景1.分布式1.1 概念...原创 2019-11-11 19:57:05 · 861 阅读 · 0 评论 -
springboot(五).springboot的数据访问
一个技术框架始终是要和数据库打交道的,前面的几篇文章都没有提及springboot的数据访问,接下来这篇文章重点来说下springboot的数据访问。 首先我们新建一个springboot项目,名称是demo3。一.jdbc1.依赖和配置(1).添加的依赖除了spring-boot-starter依赖和spring-boot-starter-test依赖外,还要添加下...原创 2019-05-10 00:33:03 · 625 阅读 · 2 评论 -
springboot(四).springboot的web开发
说起用springboot框架web项目,我们在刚开始第一篇文章中新建的springboot项目就是web项目,这个是前后端分离的只做服务器端,那么我们能用springboot来开发一个前后台不分的web项目(如:spring MVC中那样前端都放在WEB-INF/目录下)吗?当然可以了,在下面我们就来看看springboot开发web项目的一些其他要点。一.对静态资源的映射规则...原创 2019-05-06 19:49:45 · 921 阅读 · 0 评论 -
springboot(三).springboot与日志
我们都知道日志对于一个系统的重要性,在编码调试阶段我们可以通过控制台的输出来找出并解决bug,当向系统发一个请求时,我们可以通过日志来查看代码的执行流程是否与预期相符从而做出调整。下文中的Log指的是log4j、logback等日志工具。用到的IDE工具是IDEA。一.不用System.out.print1.System.out.print/printlnjava.Lang.Sys...原创 2019-04-26 14:00:51 · 908 阅读 · 0 评论 -
springboot(二).springboot的配置文件
上篇文章我们一起新建了一个springboot项目,那么如果我们的8080端口被占用了呢,该如何修改内嵌servlet服务器tomcat的端口呢?其实很简单只要在配置文件中做一下简单配置就行了。首先我们新建一个springboot的web项目,名称是demo1,当然也可以在我们上篇文章创建的springboot项目的基础上继续做,这个我们选择的工具是IDEA,接下来进入正题。一.appli...原创 2019-04-23 23:34:36 · 466 阅读 · 0 评论 -
springboot(一).新建springboot项目
废话不说,直接开练,看看用IDEA和eclipse是如何创建springboot项目的。一.IntelliJ IDEA新建springboot项目1.点击File,再点击new,接着点击project,如下图:2.接着会弹出个页面,如下图,先点击1处,如果jdk没有配,则点击2处配置jdk,最后点击3处,下一步3.在下面这个页面中配置Group和Artifact,项目名称等...原创 2019-04-23 00:27:50 · 503 阅读 · 2 评论 -
spring(八).针对SpringMVC的单体测试
SpringMVC的单体测试目录一.测试前梳理。二.实例1.一个简单的单体测试(1).给spirng_demo1项目中引入jar包(2).编写测试类。(3).测试,点击运行:run as Junit Test2.测试多个测试类(1).再编写个测试类(2).编写JUnit套件类,同时测试两个测试类...原创 2018-11-07 23:01:28 · 951 阅读 · 0 评论 -
sring(七).spring事务管理
一.事务简介在学些spring的事务管理之前,我们先来看看数据库的事务!事务(transaction):是一系列对系统中数据进行访问与更新的操作组成的一个程序执行逻辑单元。下面是事务管理的思维导图:详情可以查看文章,https://www.jianshu.com/p/aa35c8703d61下面我们进入主题,开始学习spring的事务管理。Spring采用AOP机制完...原创 2018-11-06 22:00:57 · 639 阅读 · 0 评论 -
spring(六).Spring中的AOP
Spring中的AOP目录一.AOP思想二.AOP应用1.简单的例子(1).基于配置(2).基于注解2.要点总结(1).切面组件 Aspect(2).通知 Advice(3).切点 Point3.案例实战(1).在Spring容器中配置aop(2).编写切面组件(...原创 2018-11-04 22:13:09 · 335 阅读 · 0 评论 -
spring(五).基于Spring MVC的前后端分离开发
好久没写博客了,哈哈哈!时至今日,互联网技术发生了很大变化,新技术不断涌现,新的开发模式也不断出现,传统的jsp页面,前后端混合开发的模式已经被大家弃用,往往高效率的开发模式被大家所追捧。众所周知,为了提高提高效率,我们的分工越来越明确,前端开发工程师专门写前端页面,后台开发工程师专门写服务器。前面的文章中从很基础开始将,一直都是jsp页面,前后端混合编程。当然了,为了跟上时代的步伐,我们也要...原创 2018-11-02 00:09:32 · 19412 阅读 · 5 评论 -
spring(四).spring整合Jdbc,访问数据库
前面已经介绍如何搭建一个spring MVC项目,但是没有和数据库交互过,今天我们来一起看看,spring如何使用JDBCTemplate访问数据的。我们直接从一个搭建好Spring MVC项目开始,大家可以自己先搭建一个Spring MVC项目,当然也可参照我前面写的关于搭建Spring MVC项目的文章:https://blog.csdn.net/weixin_41968788/artic...原创 2018-09-10 22:12:11 · 556 阅读 · 0 评论 -
spring(三).搭建Spring MVC项目(基于注解)
前面我们搭建了一个基于xml配置的简单的Spring MVC项目实现了用户登录,特别麻烦,今天来给大家介绍一个简单点方式,是基于注解。话不多说,开始实战:1.创建一个web项目,项目名称是:springmvctest,同样也是实现一个简单的登录2.引入相关jar包,这里我用的是spring5.0.8.release包3.在src目录下编写applicationContext...原创 2018-09-08 21:56:40 · 633 阅读 · 0 评论 -
spring(二).搭建简单spring MVC项目(基于xml配置)
前面我们初步入门了Spring,接下来我们看下如何搭建一个简单的Spring MVC项目。这里我们先来看下Spring MVC 的工作流程,看看它是如何处理一个请求的,如下图所示。接下来我们进入实战:1.新建一个web项目,项目名称为:springmvctest2.给项目中引入相关.jar包,这里引入spring5.0.8.release包(要配合jdk1.8以上版本使用,...原创 2018-09-08 19:07:24 · 524 阅读 · 1 评论 -
spring(一).入门基础
提到Spring想必大家一定会知道有IOC(Inverse of control,控制反转)、AOP(Aspect Oriented Programming,面向切面编程)、DI(Dependency Injectio,依赖注入)、javaBean等概念。笔者在刚接触Spring的时候,虽然有技术大牛导师指导,但是还是不能完全理解这几个概念到底是怎么回事,我们不妨先放下对这几个概念的理解,先跟着...原创 2018-09-08 11:49:57 · 974 阅读 · 0 评论