IOC 概念
控制反转(Inversion of Control,缩写为IOC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
IOC和DI区别
- IOC: 控制反转,把对象创建交给spring进行配置
- DI: 依赖注入,向类里面的属性中设置值
- 关系:依赖注入不能单独存在,需要在ioc基础之上完成操作
注入方式
通过配置文件注入属性
介绍:创建对象时候,向类里面属性设置值。
在 spring 中我们一般采用通过set 方法注入。
通过注解注入
注解介绍
代码里面特殊标记,使用注解可以完成功能
注解写法 @注解名称(属性名称=属性值)
注解使用在类上面,方法上面和属性上面
创建对象的四个注解
@Component
@Controller
@Service
@Repository
总结:
通过 spring框架的 ioc 容器,我们可以把对象的创建交给 spring 进行,降低代码的耦合度。
在 spring 框架 ioc 容器装配 bean,可以通过配置 xml 文件和注解两种方式进行管理。
掌握注入属性的两种方式:配置 xml 文件和注解。
先创建对象,再注入属性。
SpringIOC就不在介绍了的吧,对容器创建,管理对象的过程非常有必要自己熟悉了解一下其中的生产规程。手写一个简易版的吧。(BeanFactory,ApplicationContext的,FileSystemXmlApplicationContext,ClassPathXmlApplicationContext,
AnnotationConfigApplicationContext
Spring的各个模块构建的核心模块之上,Bean包装的是Object对象,Object里面一定是存在数据的,Context给数据提供一个生存空间的,Context就是发现和维护Bean之间的关系的,这个复杂的Bean的关系集合可以说是SpringIOC容器.)
环境搭建:IDEA,Java8,搭建Maven工程。工程图如下,需要依赖jar包的,如果感觉找jar包比较麻烦的,就使用Maven的Java工程吧,绘制采用百度脑图。
手写简易版的SpringIOC步骤如下,本次实现过程基于如下的步骤的.