1.1、Spring框架
核心容器:包含spring-core,spring-beans,spring-context,spring-expression四个模块。
spring-core和spring-beans模块提供了整个框架最基础的部分,包括IOC(Inversion of Control 控制反转)和Dependency Injection(DI 依赖注入),其中,不仅定义了IOC容器的最基本接口(BeanFactory),也提供了一系列这个接口的实现,除此之外还提供了一些应用上下文供用户使用,例如我们常用的ClassPathXmlApplicationContext。spring-expression模块提供了一种强大的用于在运行时查询操作对象的表达式语言,该语言支持对属性值,属性参数,方法等调用,从Spring IOC容器中根据名称获得对象。
spring-aop模块提供了AOP面向切面的编程实现,从传统的纵向扩展中解脱,达到逻辑与服务分离的效果,分离的spring-aspects模块集成了AspectJ,在这里声明一下AspectJ并不是Spring的一部分。
spring-instrument模块提供了类instrumentation支持和使用在某些应用服务器上的类加载器实现。
spring-jdbc模块:提供了jdbc的抽象层。
spring-tx模块:提供了支持实现特殊接口和声明式事务的管理
spring-orm模块:spring-orm模块为流行的对象-关系映射api提供集成层
spring-web模块:提供了基本的面向web的集成特性
spring -webmvc模块(也称为web servlet模块)包含web应用程序的Spring模型-视图-控制器(MVC)实现。Spring的MVC框架为域模型代码和web表单提供了清晰的分离,并与Spring框架的所有其他特性集成在一起。
spring-test模块:支持单元测试和集成测试(使用Junit或者spring的组件)
1.2、Spring框架扩展 Spring Boot与Spring Cloud
Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务;
Spring Cloud是基于Spring Boot实现的;
Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;
Spring Boot使用了约束优于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置 , Spring Cloud很大的一部分是基于Spring Boot来实现,Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。
SpringBoot在SpringClound中起到了承上启下的作用,如果你要学习SpringCloud必须要学习SpringBoot。
2、IOC 2.1、IOC本质 控制反转IOC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IOC的另一种说法。IOC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现IoC。
Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从Ioc容器中取出需要的对象。
采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI)。
依赖注入(Dependency Injection,DI)。
依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .
注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。