<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:jdbc="http://www.springframework.org/schema/jdbc"xmlns:jee="http://www.springframework.org/schema/jee"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:util="http://www.springframework.org/schema/util"xmlns:jpa="http://www.springframework.org/schema/data/jpa"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"><bean id="test" class="dao.TestDaoImpl" /><!-- 将指定类DIServiceImpl配置给spring,让spring创建其实例 --><bean id="myTestDao" class="dao.TestDaoImpl"></bean><!-- 使用构造方法注入 --><bean id="diService" class="service.DIServiceImpl"><!-- 将myTestDao注入到DIServiceImpl类的属性ITestDao上 --><constructor-arg index="0" ref="myTestDao" /></bean><!-- 使用setter方法的注入 --><bean id="testDIService1" class="service.DIServiceImpl1"><!-- 调用DIServiceImpl1类的setter方法,将myTestDao注入到DIServiceImpl1类的属性iTestDao上 --><property name="iTestDao" ref="myTestDao" /></bean></beans>

构造方法实现类:

package service;
/*** IDIService接口的实现类** Title: DIServiceImpl** Description: ** @author Ethan** @date 2019年6月25日**/import dao.ITestDao;public class DIServiceImpl implements IDIService{private ITestDao iTestDao;//构造方法,用于实现依赖注入接口对象iTestDaopublic DIServiceImpl(ITestDao iTestDao) {super();this.iTestDao = iTestDao;}public void sayHello() {//调用iTestDao中的sayHello方法
        iTestDao.sayHello();System.out.println("IDIService构造方法注入");}}

setter方式实现类:

package service;import dao.ITestDao;public class DIServiceImpl1 implements IDIService{private ITestDao iTestDao;//添加iTestDao的setter方法,用于实现依赖注入public ITestDao getiTestDao() {return iTestDao;}public void setiTestDao(ITestDao iTestDao) {this.iTestDao = iTestDao;}public void sayHello() {// TODO Auto-generated method stub//调用iTestDao中的sayHello方法
        iTestDao.sayHello();System.out.println("TestDaoImpl setter方法注入");}}

测试类:

package test;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import service.IDIService;public class Tests2 {/*** 构造方法注入测试类** Title: Test1** Description: * **/@Testpublic void Test1() {ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");IDIService ts = (IDIService) appCon.getBean("diService");ts.sayHello();}/*** 使用setter方式注入测试类** Title: Test2** Description: * **/@Testpublic void Test2() {ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");IDIService ts = (IDIService) appCon.getBean("testDIService1");ts.sayHello();}
}

转载于:https://www.cnblogs.com/WaterGe/p/11267164.html

使用构造方法注入和setter注入的配置文件相关推荐

  1. @Autowired注入、构造器注入、setter注入的使用方式?区别?

    文章目录 三种注入方式的使用 1.@Autowired注入(不推荐) 2.1.构造器注入(推荐) 2.2.构造器注入-lombok升级版(推荐) 3.setter注入 循环依赖问题如何解决? 注入方式 ...

  2. Spring~用注解读取bean(属性注入、构造方法注入、set注入)

    文章目录 注解@Autowired. 属性注入 Setter注入 构造方法注入 三种注入的优缺点 注解@Resource. 1.属性注入 2.构造方法注入 @Resource与@Autowired区别 ...

  3. setter注入和构造器注入

    bean 实例在调用无参构造器创建对象后,就要对 bean 对象的属性进行初始化.初始化是由容器自动完成的,称为注入.根据注入方式的不同,常用的有两类: setter注入 构造器注入 目录 sette ...

  4. Spring-setter注入和构造器注入

    使用setter方法注入简单类型和引用类型 先给类中的属性创建setter方法 简单类型(基本数据类型和String): 在xml文件中使用 property 标签,name,value属性 引用类型 ...

  5. spring 构造函数注入_Spring依赖注入–字段vs设置器vs构造函数注入

    spring 构造函数注入 欢迎使用Spring Dependency Injection –字段,设置器,构造函数注入教程. 了解场注入 , 二传手注入和构造函数注入之间的区别. 借助代码示例,我们 ...

  6. java的依赖注入_Java依赖注入的三种方式

    Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:组织方式注入,setter注入,基于注解的注入. 组织方式注入 组织器注入:保证了一些需要的属性在Bean实例化时就设 ...

  7. Spring中bean属性注入方式总结:构造方法、setter注入、p命令空间注入、SpEL注入、集合注入

    1. 构造方法注入 constructor-arg用于配置构造方法一个参数 name :参数的名称 value:设置普通数据 ref:引用数据,一般是另一个bean id值 index :参数的索引号 ...

  8. [Spring实战系列](8)Spring注入方式之setter注入

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/SunnyYoona/article/details/50631178 通常,JavaBean 的属性 ...

  9. Spring Setter注入原理

    本文内容如有错误.不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢.欢迎转载,转载请注明出处(https://blog.csdn.net/feng_xiaoshi/article/det ...

  10. 引用类型属性自动注入-byName,byType,多个配置文件

    引用类型属性自动注入 ​ 对于引用类型属性的注入,也可不在配置文件中显示的注入.可以通过为标签 设置 autowire 属性值,为引用类型属性进行隐式自动注入(默认是不自动注入引用类型属 性).根据自 ...

最新文章

  1. R语言pmax函数和pmin函数按位计算向量最大值、最小值实战
  2. 计算机动画制作 实验要求,有关计算机动画设计课程教学的对比试验
  3. 我的2018知乎大数据分析
  4. 关于软件公司如何进行知识分享的一些讨论
  5. 基于Bresenham和DDA算法画线段
  6. java集合按大小排序_List集合对象中按照不同属性大小排序的实例
  7. redis分布式锁实现--jedisLock
  8. VB.NET 教程_02_常见对象
  9. 修改注册表禁用触摸板
  10. 用android手机测量身高,教你如何使用小米手机测量自己的身高!
  11. 360视频:正八面体投影OHP
  12. 大数据分析R语言RStudio使用教程
  13. 模仿QQ音乐wap端
  14. 有搜python题目的软件吗_Python开发及应用-中国大学mooc-试题题目及答案
  15. Mybatis-Plus eq、ne、gt、lt、ge、le分别代表含义
  16. 如何用示波器调试波形
  17. uni-app 车牌录入组件封装(支持新能源)
  18. 【程序人生】IT界含金量高的证书
  19. Mybatis复杂查询环境
  20. MYSQL内存请求一直不释放_MySQL内存不释放分析

热门文章

  1. 如何优雅的调用第三方接口
  2. 国产 Linux 发行版再添一员,界面不输苹果!太漂亮了。。
  3. Java 8 中的 Map 骚操作,学习下
  4. 目前最快的 Java 框架居然是它?真的最快,秒射~
  5. 阿里巴巴16字真言 | 管理者的基本要求是什么?
  6. 支付宝系统架构(内部架构图)
  7. 美团程序员吐槽公司蹲位:如厕5分钟找坑两小时
  8. 薄荷Android团队成员Blog
  9. Javascript中的Math.max()和Math.min()
  10. 2.泡妞与设计模式(三) 外观模式