依赖注入对象可以 手工装配(建议) 和 自动装配

package com.PersonDaoBean.test;public interface PersonDao {public abstract void add();}
package com.PersonDaoBean.test;public class PersonDaoBean implements PersonDao {@Overridepublic void add(){System.out.println("PersonDaoBean执行。。。。。。。。。。。。。。。。。");}
}
package com.dao.bean.www;public interface PersonServiceDao {public abstract void save();}
package com.bean.www;import com.PersonDaoBean.test.PersonDao;
import com.dao.bean.www.PersonServiceDao;public class PersonServiceBean implements PersonServiceDao {private PersonDao personDao;private String name;public PersonServiceBean(PersonDao personDao, String name) {this.personDao = personDao;this.name = name;}public void save() {personDao.add();System.out.println(name);}}

//配置方法

<?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:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="personDao" class="com.PersonDaoBean.test.PersonDaoBean"></bean><bean id="personService" class="com.bean.www.PersonServiceBean"><constructor-arg index="0" type="com.PersonDaoBean.test.PersonDao" ref="personDao"></constructor-arg><constructor-arg index="1" value="valueString"></constructor-arg></bean></beans>

//Test Class

package com.itcast.www;import static org.junit.Assert.*;import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.dao.bean.www.PersonServiceDao;public class TestCaseDemo {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Testpublic void instanceSpring() {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");PersonServiceDao personService = (PersonServiceDao) ctx.getBean("personService");personService.save();}}

转载于:https://www.cnblogs.com/MarchThree/p/3720410.html

java_spring_依赖注入(构造器)相关推荐

  1. Spring DI(依赖注入)构造器注入篇

    Spring 在不使用自动装配的方式进行注入需要我们必须为成员属性提供setter方法,这种方式相对比较繁琐,除了setter方法注入方式外,Spring还为我们提供了构造器配置的注入方式. 构造器默 ...

  2. 控制反转容器依赖注入模式(转)

    轻量级容器在Java社区近来可是风起云涌,这些容器能将来自不同项目的逐渐集结为一个内聚的应用程序.这些容器都是基于一个共同的模式,这个模式决定了容器如何完成组件装配,人们统称之为:"控制反转 ...

  3. Spring学习(二)—— 对象创建方式及依赖注入

    文章目录 对象创建方式 配置 依赖注入 构造器注入 Set方式注入 拓展方式注入 对象创建方式 默认使用无参构造器创建 当我们需要使用有参构造器时,有以下几种方式: 1.下标赋值 <!--第一种 ...

  4. 【spring系列】spring依赖注入实现方式(含案例)

    依赖注入是时下最流行的IoC实现方式, 依赖注入分为 接口注入(Interface Injection), Setter方法注入(Setter Injection) 构造器注入(Constructor ...

  5. Spring Bean配置依赖注入

    Bean配置 属性 值 注释 id 自自定义,一般为类名 Bean ID name 自自定义,一般为类名,与id作用相同 Bean别名,多个别名逗号分隔 class 指定的类路径,com.xx.xx. ...

  6. 3.依赖注入setter注入和构造器注入

    依赖注入的第一种方式,叫setter注入. 其实就是通过我们当前为属性为成员变量提前设置好的一些方式,然后通过这些方式,比如说set,比如说构造器,通过这个方式,为我们的成员变量赋值的一个过程 ioc ...

  7. 【Spring】DI依赖注入(构造器、set、命名空间)

    闲话 昨晚睡得有点晚,早上八点多起来了,真想睡个午觉,但是又怕下午没时间看书 一.DI依赖注入 1.构造器注入(利用有参构造创建对象) 假设我们想要使用有参构造创建对象,那么我们就需要调整beans. ...

  8. java 构造器注入_Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)...

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...

  9. Spring学习-理解IOC和依赖注入

    最近刚买了一本介绍ssm框架的书,里面主要对Mybatis.spring.springmvc和redis做了很多的讲解,个人觉得虽然有的内容我看不懂,但是整体上还是不错的.最近正在学习中,一边学习一边 ...

最新文章

  1. ABAP性能实例七例
  2. scala面向对象之trait
  3. 如何在家写出一份无懈可击的产品文档
  4. boost::gregorian模块实现计算今年的元旦直到下一个元旦的日子的测试程序
  5. nstimer循环引用_ios开发中经典循环引用场景?
  6. 数据库事务的隔离机制
  7. 如何在Qt中使用自定义数据类型
  8. android手机分享app,Android Pie如何快捷分享文件至特定App
  9. Linux下svn 安装搭建配置流程
  10. 有向图的强联通分量 Tarjan算法模板
  11. 省选专练之数学 BZOJ2820 YY的GCD
  12. python曲线和直线的交点_求直线与分段线性曲线的交点
  13. 华为交换机导入配置_华为交换机配置教程 华为核心交换机配置
  14. 卓有成效的管理者(笔记)——有效的决策
  15. 【.Net】.Net操作AD域账号,获取AD用户后可以获取的属性列表 directoryEntry Properties list
  16. 保健品消费者需求调研内容及设计
  17. Google浏览器插件推荐
  18. java读取pdf文件的图片和文字内容
  19. vmware的ubuntu虚拟机屏幕太小解决办法
  20. 记录win10安装Dexdump并脱壳

热门文章

  1. Flutter 中 stateless 和 stateful widget 的区别[Flutter专题60]
  2. Flutter:如何使用 CustomPaint 绘制心形
  3. 全球化、文化和团队多样性
  4. tms570 can 接收大量数据_超全!嵌入式必懂的CAN总线一文讲通了
  5. php 特殊字符大全,关于php 特殊字符的文章推荐
  6. 流利说签约神策数据,打造智能时代 Top 级在线英语学习平台
  7. 数据中台建设中的得与失
  8. 重磅 !间隔分析正式上线,神策数据分析能力再度增强
  9. 百度视频携手神策数据 为用户精准推送短视频内容
  10. 神策数据联合Ping++,推出电商、O2O 行业的 GMV 增长研讨