第3讲_Spring IOC程序代码如何编写

第2讲我们介绍了Spring IOC的基本原理,这篇文章告诉大家Spring IOC程序代码是如何编写的,从而可以更好的理解IOC和DI的概念(所有的Java类的初始化工作扔给Spring框架,一个Java类如果依赖其他Java类,则此类依赖另一个Java类的初始化工作也扔给Spring框架来完成

下面我们通过在MVC开发中业务逻辑层和Dao层之间的关系来讲解利用Spring IOC和DI来实现依赖注入的关系

1. 创建一个业务逻辑层的类(先声明一下这里的业务逻辑层我们就没有再去定义接口,所以业务逻辑层的实现类就是一个普通的Java类),PetServiceImpl。此类需要依赖于两个Dao层对象

package com.gxa.spring.day01;

public class PetServiceImpl {

private PetDaoImplpetDao; //依赖对象

private ItemDaoImplitemDao; //依赖对象

public void setPetDao(PetDaoImplpetDao) {

this.petDao = petDao;

}

public void setItemDao(ItemDaoImplitemDao) {

this.itemDao = itemDao;

}

public void selectPet() {

petDao.selectPet();

itemDao.selectItem();

}

}

2. 我们再创建两个Dao层的类(这里我们也再声明一下Dao层的也没有定义接口,只是一个普通的Java类),PetDaoImpl和ItemDaoImpl

package com.gxa.spring.day01;

public class PetDaoImpl {

public void selectPet() {

/**

* 完成宠物数据查询

*/

System.out.println("==宠物数据查询==");

}

}


package com.gxa.spring.day01;

public class ItemDaoImpl {

public void selectItem() {

/**

* 完成宠物分类数据查询

*/

System.out.println("==宠物分类的数据查询==");

}

}

大家注意一下PetServiceImpl中的两个Dao类,我们并没有在PetServiceImpl类使用new关键字来初始化。而是分别给PetDaoImpl和ItemDaoImpl追加两个setter方法。这两个setter方法非常关键,Spring框架就是通过setter方法来代替PetServiceImpl类给两个Dao层的类进行初始化的

3. 编写一个Spring的配置文件,将PetServiceImpl, PetDaoImpl, ItemDaoImpl 注入到 Spring框架中。同时还配置了PetServiceImpl的依赖关系(DI)

注意上面的中的,此标签就是在给PetServiceImpl设置依赖关系

4. 编写一个测试类

public class Test01 {

@Test

public void m02() {

BeanFactorybeanFactory = new ClassPathXmlApplicationContext("spring.xml");

PetServiceImplpetService = (PetServiceImpl) beanFactory.getBean("petService");

petService.selectPet();

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,982评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,970评论 6 342
  • 这个社会之所以会不一样,就是每天都会有很多奇迹发生,也有很多人期盼奇迹的发生。 很多人希望都希望自己是那个中500...
    予墨读书阅读 239评论 0 0
  • 从今天起,我将记录下,俩货的或坑爹或萌化日常from 你们娘 -日常碎碎念- bobby剃胎毛满一周。本周bobb...
    胡胡不喜阅读 357评论 0 0