Spring Boot 2.x实战3 - Spring 5.x基础1 - IoC容器简介

1 IoC容器

Spring的核心是IoC(控制反转Inversion of Control)容器,它负责容器内的普通Java对象的管理以及对象之间关系的绑定(依赖注入Dependency Injection),容器中被管理的对象称为Bean。

Spring又是如何知道要怎样管理你的Bean呢,通过:元数据 + POJO

  • POJO:简单的Java对象
  • 元数据:描述你的POJO如何管理的数据

Spring通过读取你的元数据知道你将如何管理你的POJO,然后按照你的要求对POJO即Bean进行管理。刚开始Spring的元数据表现主要是XML配置,而现在主要的元数据的配置都是通过注解配置和Java配置。

Spring的IoC容器即ApplicationContext,它拥有一个父接口BeanFactory,用来提供管理配置任意对象的基础功能,而ApplicationContext提供了更多的企业级功能且包含父接口的所有功能。我们只要新建一个ApplicationContext的实现就拥有了一个Spring的IoC容器。

ApplicationContext context = new ClassPathXmlApplicationContext("context.xml");

Spring Boot为我们在不同的环境下自动创建正确的IoC容器:

  • AnnotationConfigApplicationContext:默认创建的IoC容器;
  • AnnotationConfigServletWebServerApplicationContext:Web应用下创建的IoC容器;
  • AnnotationConfigReactiveWebServerApplicationContext:响应式Web应用创建的IoC容器。

我们本章主要讲的是Spring基础知识,我们通过建立一个简单的Spring Boot应用即可,它会给我们自动创建一个AnnotationConfigApplicationContext的IoC容器。

应用信息:

Grouptop.wisely

Artifactspring-fundamentals

DependenciesAspects

未完请继续看下一节

新书推荐:

我的新书《从企业级开发到云原生微服务:Spring Boot 实战》已出版,内容涵盖了丰富Spring Boot开发的相关知识
购买地址:https://item.jd.com/12760084.html

在这里插入图片描述

主要包含目录有:

第一章 初识Spring Boot(快速领略Spring Boot的美丽)
第二章 开发必备工具(对常用开发工具进行介绍:包含IntelliJ IDEA、Gradle、Lombok、Docker等)
第三章 函数式编程
第四章 Spring 5.x基础(以Spring 5.2.x为基础)
第五章 深入Spring Boot(以Spring Boot 2.2.x为基础)
第六章 Spring Web MVC
第七章 数据访问(包含Spring Data JPA、Spring Data Elasticsearch和数据缓存)
第八章 安全控制(包含Spring Security和OAuth2)
第九章 响应式编程(包含Project Reactor、Spring WebFlux、Reactive NoSQL、R2DBC、Reactive Spring Security)
第十章 事件驱动(包含JMS、RabbitMQ、Kafka、Websocket、RSocket)
第11章 系统集成和屁股里(包含Spring Integration和Spring Batch)
第12章 Spring Cloud与微服务
第13章 Kubernetes与微服务(包含Kubernetes、Helm、Jenkins、Istio)
多谢大家支持。

发布了116 篇原创文章 · 获赞 10 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/wiselyman/article/details/105732227