Spring 01 IOC

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方法。

  •  客户端,自己new一个传给service

如果通过Spring来做

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

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

原文地址:https://www.cnblogs.com/take-it-easy/p/13026591.html