Spring_Day01
一、Spring基础概念
Spring生态
Spring可以开发Web、微服务以及分布式系统等等,Spring不是一个单一的技术,而是一个大家族。Spring已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。最需要关注的技术是Spring Framework, Spring Boot和Spring Cloud。
- Spring Framework:也就是Spring框架,是Spring中最核心的技术,是其他技术的基础
- Spring Boot:Spring是用来简化开发的,Spring Boot则是在Spring的基础上更快速进行开发的
- Spring Cloud:用来做分布式之微服务架构的开发
Spring架构
- 核心层
- Core Container:核心容器,是Spring最核心的模块,其他的都依赖于此
- AOP层
- AOP:面向切片编程,它依赖核心容器,目的是在不改变原有代码的前提下,对其进行功能增强
- Aspects:AOP是思想,Aspects是对AOP思想的实现
- 数据层
- Data Access:数据访问,Spring全家桶中有对数据访问的具体实现技术
- Data Integration:数据集成,Spring支持整合其他的数据层解决方案,比如Mybatis
- Transactions:事务,Spring中事务管理是Spring AOP的一个具体实现,也是后期学习的重点内容
- Web层
- 这一层的内容将在SpringMVC框架具体学习
- Test层
- Spring主要整合了Junit来完成单元测试和集成测试
IOC、IOC容器、Bean、DI简介
IOC控制反转 Inversion of Control
使用对象时、由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,这个思想称为IOC控制反转。
Spring技术对IOC思想进行了实现,Spring提供了IOC容器,即IOC思想中的“外部”。IOC容器负责对象的创建、初始化等工作,其中包含了业务层和数据层的类对象。
被创建或管理在IOC容器内的对象被称为“Bean”。
在容器中建立bean与bean之间的依赖关系的整个过程,称为DI依赖注入Dependency Injection。例如业务层需要依赖数据层,service在IOC中和dao建立了依赖关系。取用到的bean就已经绑定了依赖关系。