Spring系列

进度:

参考

北京银行新员工培训材料《Spring框架浅谈》

| 类型 | 参考资料 |

| | —- | —- | —- | |

| 官网 :
https://spring.io/ |

| |

| 官网参考文档
Spring Boot Reference Documentation |

| |

| 官网-部署(上云)
Deploying Spring Boot Applications |

| |

|

尚硅谷-雷丰阳-SpringBoot
https://www.bilibili.com/video/av885722084 |

| |

|

尚硅谷-雷丰阳-SpringBoot-配套参考材料
https://www.yuque.com/atguigu/springboot/ |

| |

|

SpringBoot学习路线
https://www.cnblogs.com/moonsoft/p/9229107.html |

| |

|

|

|

2003年兴起的java开发框架

狭义上的Spring特指Spring框架(Spring Framework)。
Spring框架是为了解决企业应用开发的复杂性而创建的,它的主要优势之一就是分层结构

4.24

image.png

Spring框架的核心是控制翻转(IOC)和面向切面(AOP)。
简单来说,Spring是一个分层的,面向切面与java应用的一站式轻量级开源框架

控制翻转(IOC)

创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器。

在“三层结构”(表示层、业务逻辑层、数据访问层)架构开发中,
层与层之间,类有调用依赖的关系:表示层——>业务逻辑层——>数据访问层
表示层类中,需要调用业务逻辑层类的方法;业务逻辑层类中,需要调用数据访问层类的方法。

  1. public Class UserController {
  2. UserService userService = new UserService();
  3. ……
  4. }
  1. public Class UserService {
  2. UserDao userDao = new UserDao();
  3. ……
  4. }


我们会发现 类与类之间,有很紧密的依赖关系,即:在代码里,一个类中,引用了另外一个类,并 new 了一个对象。这样,也就意味着有很强的耦合性。

为了解耦,降低这种很强的依赖性,Spring 框架中,设计出了 IOC。
代码中,不去 维护类与类之间的依赖性,也即: UserController 中不去new UserService()

而是去这样写:

  1. public Class UserController {
  2. //UserService userService = new UserService();
  3. UserService userService;
  4. ……
  5. }

那么 实例化UserService,即 new UserService();在哪里操作?
交给Spring 的bean工厂,去实例化。
如何去实例化类对象,有哪些需要约定,这就需要一个 xml配置文件去记录。后来,可以使用annotation(注解)的方式去配置属性。

实例化bean的方式
bean的实例化就是根据配置来创建对象的过程,主要有以下三种方式:
通过构造函数实例化
使用静态工厂方法实例化
使用工厂实例方法实例化

面向切面(AOP)


什么是 AOP
(1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得
业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能。
image.png

图5.png

事务

image.png

第一个SpringBoot程序

可从官网下载模板https://spring.io/quickstart,或通过IDEA创建。
参考:02、SpringBoot2入门 · 语雀 (yuque.com)

技巧
重新导入maven依赖:右键项目或pom.xml > maven >重新加载项目

执行命令maven package
java -jar
image.png

容器功能

自动配置原理入门