Spring核心容器

Posted ohana!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring核心容器相关的知识,希望对你有一定的参考价值。

目录

一,什么是Spring

概念

常见的框架

作用

二,什么是IoC&DI

Core Container(核心容器)

1.IoC(控制反转)

2.DI(依赖注入)

3.IoC和DI之间的关系

三,创建spring核心容器

四,注解

1.类注解

2.方法注解

五,Bean的使用

1.通过容器对象.getBean()获取

2.依赖注入

3.依赖注入的实现方式

4.多个同类型bean对象注入


一,什么是Spring

概念

  • 通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是一个开源框架,有着活跃而庞大的社区,这就是它之所以能长久不衰的原因
  • Spring 支持广泛的应用场景,它可以让 Java 企业级的应用程序开发起来更简单

常见的框架

  1. Spring Framework
  2. SpringBoot
  3. Spring MVC
  4. MyBatis

作用

1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

2.可以提供众多服务,事务管理,WS等。

3.AOP的很好支持,方便面向切面编程。

4.对主流的框架提供了很好的集成支持,如hibernate,Struts2,JPA等

5.Spring DI机制降低了业务对象替换的复杂性。

6.Spring属于低侵入,代码污染极低。

7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

二,什么是IoC&DI

Core Container(核心容器)

  • 名为核心容器
  • 是属于Spring Framework的一个功能
  • 存放普通Java对象的一种装置

1.IoC(控制反转)

IoC (Inversion of Control) 即控制反转,是面向对象编程中的一种设计原则。主要是通过第三方IoC容器,对Bean对象进行统一管理,及组织对象之间的依赖关系。获得依赖对象的过程,由原本程序自己控制,变为了IoC容器来主动注入,控制权发生了反转,所以叫做IoC,控制反转

简单点来说:对象初始化(new,初始化属性值)及依赖关系(对象属性引用另一个对象),由原来程序自己控制变为由容器同意控制

2.DI(依赖注入)

依赖:这里就是指一个bean对象的属性

注入:由容器将一个bean对象注入到另一个bean对象的属性中

所谓依赖注入,就是由 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中

3.IoC和DI之间的关系

IoC是一种设计原则,也可以说是一种设计思想,而DI就是具体的实现方式

举个栗子:我今天要去好好学习Java(IoC)我今天的学习内容是Spring核心容器(DI)

三,创建spring核心容器

1.创建一个maven项目,并引入依赖包

2.创建一个容器

3.添加相应的注解 

四,注解

1.类注解

@Controller(控制器存储)

  • 用于web开发,处理http请求和响应

@Service(服务存储)

  • 做业务逻辑处理

@Repository(仓库存储)

  • 数据库访问操作,一般是数据库操作

@Component(组件存储)

  • 一般组件,用的较少

@Configuration(配置存储)

  • 系统启动运行前,提前加载一些资源配置

2.方法注解

@Bean

类注解是添加到某个类上的,而方法注解是放到某个方法上的

  

五,Bean的使用

1.通过容器对象.getBean()获取

2.依赖注入

将一个Bean对象,注入到另一个bean的属性中

1)属性注入

实现方式:

属性/setter方法加@Autowired(主要实现方式)

byType:通过类型匹配(要求该类型在容易中只有一个)

byName:通过bean的id/名称来匹配

2)构造注入

构造方法加@Autowired的注解

3.依赖注入的实现方式

1)Autowired

是spring框架提供的注解,只能用于spring框架

2)Resource

是JDK框架提供的注解,是属于某个资源的规范,而spring是实现了这个规范

4.多个同类型bean对象注入

1)@Autowired+@Qualifier

2)@Resource(name="bean对象的id/名称")

以上是关于Spring核心容器的主要内容,如果未能解决你的问题,请参考以下文章

Spring核心(ioc控制反转)

springMVC的核心是啥

Spring核心技术之IOC容器:IOC容器与Bean简介

Spring核心技术——IoC容器和Bean简介

spring5源码分析系列——spring核心容器体系结构

spring IOC