spring ioc和di

IOC 是 Inverse Of Control 的缩写,也就是反转控制的意思。

IOC也是Spring框架的核心,到底什么是反转控制呢?
我们在使用Java语言开发项目的时候,是必须要实例化各种对象的。那么我们去完成一个功能的时候,首先要去寻找完成该功能的类,然后使用该类实例化一个对象,然后使用对象的各种API,完成之后 还要释放这个对象。这个难度是比较大的。
Spring提供的IOC,意思就是他将所有的类进行管理,当你要用的时候,他来帮你创建,你需要关注的就是太调用他的什么方法,然后也不用管他的关闭和释放。由他来管理。这个就降低了我们维护类的难度。

他就相当于一个中介,这种思维我们在生活中也能见到,比如说自如租房。
自如管理着许许多多的房源,各种类型的房子。当你想租房子的时候不用到处去找户型,找位置…………,你需要考虑的就是找到自如跟他说你要什么样的房子,他就给你什么样子的房子,然后你拎包住进去就好了。
自如这么受欢迎的原因,确实他降低了我们去找房子的难度。


又回到我们的Spring框架,他提供了IOC的功能。可是我们在实例化对象的时候会有很多的依赖,最简单的就是我们实例化对象需要给他的创元变量进行赋值,这样你才能使用该对象的功能。比如说我们在开发web项目的时候 在action中可以调用service的方法,而service的方法实现需要依赖到dao层的东西。我们在调用service的时候这个dao就要初始化出来才能使用。为了解决这个问题Spring又提出了一个新的技术点:DI注入
DI Dependency Injection 依赖注入 这个可以叫思想也可以叫技术点,他的出现就是为了辅助Spring 的反转控制的功能。
他的注入方式有三种:
1. set注入
2. 构造函数注入
3. 字段注入
注入类型有两种:
1. 值类型 8大基础类型
2. 引用类型 对象

猜你喜欢

转载自blog.csdn.net/caoPengFlying/article/details/81231957