携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
Spring各个模块的依赖关系:
Core Container
Spring 框架的核心模块,也可以说是基础模块,主要提供 IoC 依赖注入功能的支持。Spring 其他所有的功能基本都需要依赖于该模块。
- spring-core :Spring 框架基本的核心工具类。
- spring-beans :提供对 bean 的创建、配置和管理等功能的支持。
- spring-context :提供对国际化、事件传播、资源加载等功能的支持。
- spring-expression :提供对表达式语言(Spring Expression Language) SpEL 的支持,只依赖于 core 模块,不依赖于其他模块,可以单独使用。
AOP
- spring-aspects :该模块为与 AspectJ 的集成提供支持。
- spring-aop :提供了面向切面的编程实现。
Data Access/Integration
- spring-jdbc :提供了对数据库访问的抽象 JDBC。不同的数据库都有自己独立的 API 用于操作数据库,而 Java 程序只需要和 JDBC API 交互,这样就屏蔽了数据库的影响。
- spring-tx :提供对事务的支持。
- spring-orm : 提供对 Hibernate、JPA 、iBatis 等 ORM 框架的支持。
Spring Web
- spring-web :对 Web 功能的实现提供一些最基础的支持。
- spring-webmvc : 提供对 Spring MVC 的实现。
Spring,Spring MVC,Spring Boot 之间什么关系?
Spring 包含了多个功能模块(上面刚刚提高过),其中最重要的是 Spring-Core(主要提供 IoC 依赖注入功能的支持) 模块, Spring 中的其他模块(比如 Spring MVC)的功能实现基本都需要依赖于该模块。
Spring Boot 只是简化了配置,如果你需要构建 MVC 架构的 Web 程序,你还是需要使用 Spring MVC 作为 MVC 框架,只是说 Spring Boot 帮你简化了 Spring MVC 的很多配置,真正做到开箱即用!
Spring IoC
谈谈自己的对于Spring IoC的了解
IoC是一种思想,而非一种具体的技术实现。思想旨在将原本在程序中创建对象的控制权交给Spring框架管理。
为什么叫控制反转?
控制:对象创建(实例化、管理)的权利
反转:控制权交给外部环境(Spring、IoC容器)