Spring是一个轻量级的Java开发框架,其提供的两大基础功能为IoC和AOP,其中IoC为依赖反转(Inversion of Control)。IOC容器的基本理念就是“为别人服务”,那为别人服务什么呢?其中最重要就是业务对象的构建管理和业务对象之间的依赖绑定。
业务对象的构建管理:业务场景中,无需关心业务对象如何创建、如何管理,在需要时只需获取即可。业务对象的构建管理交给IoC容器,避免这部分代码对业务逻辑的侵染。
业务对象之间的依赖绑定:IoC容器需要先了解业务对象之间的依赖关系,这样依据之前业务对象的构建管理就可以对外提供IoC服务,保证每个业务对象在使用时处于就绪状态。
IoC容器管理业务对象,首先需要知道业务对象之间的依赖关系,以下有几种方式告诉IoC容器其管理的对象之间的绑定关系:
可以通过简单的文本方式记录被注入对象和其依赖对象的对应关系。
使用描述性更强的XML文件格式记录对象之间的对应关系。
还可以通过编写代码的方式(调用IoC容器提供的对应API)设置对象之间的关系。
...
注意:不管是什么方式来告知IoC容器对象之间的绑定关系,最终都是需要通过编码方式来将这些信息"写入"到IoC容器中的。
一个XML配置方式的示例:
<!-- 配置bean,属性配置方式 --><bean id="helloWorld" class="com.luo.testspring.HelloWorld" scope="singleton"> <property name="name" value="spring"/></bean>