龙空技术网

Java之IOC

Java那点事 150

前言:

眼前大家对“iocjava”大体比较珍视,你们都想要分析一些“iocjava”的相关文章。那么小编在网摘上收集了一些有关“iocjava””的相关资讯,希望你们能喜欢,大家快快来了解一下吧!

IoC,Inversion of Control(控制反转)。

是一种设计思想,在Java开发中,将你设计好的对象交给容器控制,而不是显示地用代码进行对象的创建。

把创建和查找依赖对象的控制权交给 IoC 容器,由 IoC 容器进行注入、组合对象。这样对象与对象之间是松耦合、便于测试、功能可复用(减少对象的创建和内存消耗),使得程序的整个体系结构可维护性、灵活性、扩展性变高。

使用 IoC 的好处:

资源集中管理,实现资源的可配置和易管理

降低了资源的依赖程度,即松耦合

便于测试

功能可复用(减少对象的创建和内存消耗)

使得程序的整个体系结构可维护性、灵活性、扩展性变高

DI(Dependency Injection)依赖注入,是 IoC 容器装配、注入对象的一种方式。

通过依赖注入机制,简单的配置即可注入需要的资源,完成自身的业务逻辑,不需要关心资源的出处和具体实现。

spring 提供了三种主要的方式来配置 IoC 容器中的 bean

基于 XML 文件配置

基于注解配置

基于注解 + java 代码显式配置

Spring 中 IoC 容器的底层实现就是 BeanFactory,BeanFactory 可以通过配置文件(xml、properties)、注解的方式加载 bean;提供根据 bean 的名称或类型类型查找 bean 的能力。功能最全的一个 BeanFactory 实现就是 DefaultListableBeanFactory。

标签: #iocjava