Spring核心容器
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring核心容器相关的知识,希望对你有一定的参考价值。
目录
一,什么是Spring
概念
- 通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是一个开源框架,有着活跃而庞大的社区,这就是它之所以能长久不衰的原因
- Spring 支持广泛的应用场景,它可以让 Java 企业级的应用程序开发起来更简单
常见的框架
- Spring Framework
- SpringBoot
- Spring MVC
- 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核心容器的主要内容,如果未能解决你的问题,请参考以下文章