IoC(Inversion of Control) 控制反转,对象不由代码中new创建,程序只被动接受对象。
一个传统的项目
复习一下一些建项目的规范
- 新建maven项目(父项目)。注意GroupId更多是一个创建者的标记,ArtifactId才是项目名称。之后配置父项目maven依赖。

- 新建子项目,新建Moudle就可以。名字类似spring-01-ioc这种,项目名一般不大写。
- 子项目src-java中新建多级文件夹com.ou.pojo,类似的还有dao,service文件夹。不用大写。
传统的项目结构
- 项目层次:Dao层中一个返回数据的接口,然后有几个不同取数据的实现类。Service中也是一个接口和几个实现类。

- Service层中的操作:关键问题在于上一层如果要换接口实现方式,下一层就得改源代码。

通过一个set方法,可以实现简单的控制反转
- service层,不自己创建对象,由外部注入。而且实际上之后用beans注入,最终也要过这个set方法。


如果通过Spring来做
- 引入maven依赖,记得导spring-webmvc这个包,比较省事
- resources文件夹下新建beans.xml,写下以下配置内容。bean的id,bean的class是类型的具体路径,property包括属性名和ref或者value。ref引用其他的bean的id

- 客户端先获取context,在直接获取对象。这样不同的实现类只要改配置文件就可以完成

Spring 01 IOC
原文:https://www.cnblogs.com/take-it-easy/p/13026591.html