DI是Dependency Injection的缩写,依赖注入的意思,依赖了Spring容器,进行set注入,这里还是以一个例子进行阐述

首先我们创建两个实体类

package com.zhiying.pojo;public class Address {private String address;public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Address{" +"address='" + address + '\'' +'}';}
}
package com.zhiying.pojo;import java.util.*;public class Student {private String name;private Address address;private String[] books;private List<String> hobbies;private Map<String,String> card;private Set<String> games;private String wife;private Properties info;public String getName() {return name;}public void setName(String name) {this.name = name;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}public String[] getBooks() {return books;}public void setBooks(String[] books) {this.books = books;}public List<String> getHobbies() {return hobbies;}public void setHobbies(List<String> hobbies) {this.hobbies = hobbies;}public Map<String, String> getCard() {return card;}public void setCard(Map<String, String> card) {this.card = card;}public Set<String> getGames() {return games;}public void setGames(Set<String> games) {this.games = games;}public String getWife() {return wife;}public void setWife(String wife) {this.wife = wife;}public Properties getInfo() {return info;}public void setInfo(Properties info) {this.info = info;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", address=" + address.toString() +", books=" + Arrays.toString(books) +", \nhobbies=" + hobbies +", card=" + card +", games=" + games +", \nwife='" + wife + '\'' +", info=" + info +'}';}
}

然后是配置文件,核心

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="address" class="com.zhiying.pojo.Address"/><bean id="student" class="com.zhiying.pojo.Student">
<!--    普通值注入--><property name="name" value="贺志营"/><!--    Bean注入--><property name="address" ref="address"/><!--        数组注入--><property name="books"><array><value>红楼梦</value><value>西游记</value><value>三国演义</value><value>水浒传</value></array></property><!--        List注入--><property name="hobbies"><list><value>写代码</value><value>听歌</value><value>玩游戏</value></list></property><!--        Map注入--><property name="card"><map><entry key="姓名" value="贺志营"/><entry key="性别" value="男"/></map></property><!--        Set注入--><property name="games"><set><value>王者荣耀</value><value>英雄联盟</value></set></property><!--        null值注入--><property name="wife"><null/></property><!--        Properties注入--><property name="info"><props><prop key="username">root</prop><prop key="password">123456</prop></props></property></bean></beans>

然后就是测试了

import com.zhiying.pojo.Student;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class MyText {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");Student student = (Student) context.getBean("student");System.out.println(student.toString());}
}

Spring依赖注入DI相关推荐

  1. Spring依赖注入(DI)

    2019独角兽企业重金招聘Python工程师标准>>> 1.面向接口编程 什么是面向接口编程呢?我个人认为,就是在我们的系统分析和架构中,首先,分清层次和依赖关系,每个层次不直接向上 ...

  2. spring 依赖注入

    Technorati 标记: spring,依赖注入,DI,ioc 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的 ...

  3. spring 依赖注入_Spring从入门到入土——依赖注入(DI)

    Dependency Injection 概念 依赖注入(DI) 依赖:指Bean对象的创建依赖于容器.Bean对象的依赖资源 注入:指Bean对象 注入方式 一共有三种:分别是构造器注入:Set注入 ...

  4. Spring框架—③依赖注入DI、Bean作用域及自动装配

    依赖注入 DI,Dependency injection 依赖: 指bean对象的创建依赖于Spring容器 注入: 指Bean对象所依赖的资源,由容器来设置和装配 在beans.xml中配置 1.常 ...

  5. 初学者都能看懂的 Spring 源码之依赖注入(DI)源码分析

    前言 在面试中,经常被问到 Spring 的 IOC 和 DI (依赖注入),很多人会觉得其实 IOC 就是 DI ,但是严格上来说这两个其实并不等价,因为 IOC 注重的是存,而依赖注入注重的是取, ...

  6. 最全的 Spring 依赖注入方式,你都会了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 前言 Spring 正如其名字,给开发者带来了春天,Spring 是为解决企业级应用开发的复杂性而设计的一款框架,其设计理念就是:简 ...

  7. Java程序员进阶——Spring依赖注入原理分析

    Spring依赖注入原理分析 下面谈谈Spring是如何实现反转模式IOC或依赖注入模式DI: 平时,我们需要生成一个对象,使用new语法,如一个类为A public class A{public v ...

  8. java接口注入对象的意义_Java Web系列:Spring依赖注入基础

    一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是 ...

  9. 控制反转IOC与依赖注入DI

    为什么80%的码农都做不了架构师?>>>    1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最 ...

最新文章

  1. GPU加速:宽深度推理
  2. Python,OpenCV中的非局部均值去噪(Non-Local Means Denoising)
  3. BZOJ 1061费用流
  4. 从函数劫持角度看开发调试工具AlloyLever
  5. 李争——一个骨子里是极客的程序员
  6. 从事仪表专业学c语言有用吗,测控专业就业方向有哪些 就业前景比你想象中的好...
  7. Oracle 19c和20c新特性最全解密
  8. 支持向量机总结(SVM)
  9. 编码器的历史以及未来发展前景
  10. java watir_基于Ruby的watir-webdriver自动化测试方案与实施(一)
  11. 还不会用 Python 提取 PDF 表格?三种类型数据,轻松转换成 Excel
  12. windows 的快捷截图
  13. Maven学习(九)Maven项目SpringCloud微服务工程构建(基于单一案例的逻辑)
  14. 关于程序代码的时间复杂度
  15. MSDC 4.3 接口规范(26)
  16. 百度AI的2020:新基建铺路,硬实力出圈
  17. Swift开发 UIColor分类Hex颜色转换
  18. 揭秘Internet.org:这是扎克伯格的野心还是使命?
  19. 京东数科:无偿驰援 多款智能产品服务防控第一线
  20. 年入800万!韩国第一虚拟网红的崛起

热门文章

  1. zabbix1.8.5安装
  2. 利用bobo-browse 实现lucene的分组统计功能
  3. scikit-learn机器学习常用算法原理及编程实战(五)
  4. 卷积交织/解交织C++程序
  5. linux 文件系统 xfs、ext4、ext3 的区别
  6. Flask 上下文管理-- (session,request,current_app的传递)--类似本地线程实现,以及多app应用...
  7. Openlayer 3 的画图测量面积
  8. Effective C++_笔记_条款06_若不想使用编译器自动生成的函数,就该明确拒绝
  9. Windows文件系统过滤驱动开发教程(4)
  10. 接口测试工具--apipost如何取消json参数中转义字符