0%

distributed_system

1. 集群与分布式

根据业务划分的情况,主要有三种模式,分别是单机结构、集群结构、分布式结构,下面这张图给出了集群和分布式的区别。

最普通的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。

阅读全文 »

Spring.png

8. Spring MVC 流程

8.1 Spring MVC 介绍

Spring MVC 是目前主流的MVC框架之一。两个核心点:

  • 处理器映射:选择使用哪个控制器来处理请求
  • 视图解析器:选择结果应该如何渲染

运行原理可以用下图表示:

160870009-5aae79b0723bb_articlex.png

阅读全文 »

Spring.png

7. IOC初始化流程

IoC容器的初始化就是含有BeanDefinition信息的Resource的定位、载入、解析、注册四个过程,最终我们配置的bean,以beanDefinition的数据结构存在于IoC容器即内存中。这里并不涉及bean的依赖注入,只是bean定义的载入。但有例外,在使用Ioc容器时有一个预实例化的配置,即bean定义中的设置了lazyinit属性,那么这个bean在Ioc容器初始化时就预先加载,不需要等到Ioc整个初始化后,第一次getBean时才会触发。其中refresh()启动对Ioc容器的初始化。

阅读全文 »

Spring.png

6 声明式事务

6.1 Spring中事务的使用

在进行数据操作事,通常会将多条SQL语句作为整体进行操作,这一条或者多条SQL语句就称为数据库事务。数据库事务可以确保该事务范围内的所有操作都可以全部成功或者全部失败。如果事务失败,那么效果就和没有执行这些SQL一样,不会对数据库数据有任何改动。

事务是恢复和并发控制的基本单位。

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

  • 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
  • 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  • 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  • 持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
阅读全文 »

Spring.png

5 AOP

5.1 什么是AOP

AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。

OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。

阅读全文 »

Spring.png

4. Bean的生命周期

4.1 Bean的生命周期

Spring中bean的生命周期是指bean创建,初始化,销毁的过程,整个过程是由容器进行管理的。

具体过程如下图所示:

Screen Shot 2020-02-05 at 8.08.12 PM.png

阅读全文 »

Spring.png

3. 高级装配Bean

3.1 Bean的作用域

默认情况下,Spring中的bean都是以单例的形式存在的,无论注入多少次,每次注入的都是同一个实例。

考虑到某些bean可能是可变的,Spring定义了不同的作用域,可以基于这些作用域创建不同的bean,

Screen Shot 2020-01-30 at 3.44.24 PM.png

单例是默认的作用域,如果选择@Scope注解选择其他作用域,这可以和@Component@Bean一起使用。

阅读全文 »

Spring.png

2. Bean的装配

Spring容器负责创建应用程序中的bean,并通过DI来协调对象之间的关系。Spring提供了三种主要的装配机制:

  • XML显式配置;
  • Java配置类进行显式配置;
  • 隐式的bean发现机制和自动装配。

推荐使用Java配置类结合隐式的自动bean扫描机制。

阅读全文 »

Spring.png

1. Spring概述

本章主要介绍Spring中的体系结构和常见概念,比如bean、控制反转(Inverse of Control,IoC)等。

1.1 体系结构

Spring 框架提供约 20 个模块,可以根据应用程序的要求来使用。

Screen Shot 2020-01-11 at 7.54.32 PM.png

阅读全文 »