Spring依赖注入DI
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相关推荐
- Spring依赖注入(DI)
2019独角兽企业重金招聘Python工程师标准>>> 1.面向接口编程 什么是面向接口编程呢?我个人认为,就是在我们的系统分析和架构中,首先,分清层次和依赖关系,每个层次不直接向上 ...
- spring 依赖注入
Technorati 标记: spring,依赖注入,DI,ioc 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的 ...
- spring 依赖注入_Spring从入门到入土——依赖注入(DI)
Dependency Injection 概念 依赖注入(DI) 依赖:指Bean对象的创建依赖于容器.Bean对象的依赖资源 注入:指Bean对象 注入方式 一共有三种:分别是构造器注入:Set注入 ...
- Spring框架—③依赖注入DI、Bean作用域及自动装配
依赖注入 DI,Dependency injection 依赖: 指bean对象的创建依赖于Spring容器 注入: 指Bean对象所依赖的资源,由容器来设置和装配 在beans.xml中配置 1.常 ...
- 初学者都能看懂的 Spring 源码之依赖注入(DI)源码分析
前言 在面试中,经常被问到 Spring 的 IOC 和 DI (依赖注入),很多人会觉得其实 IOC 就是 DI ,但是严格上来说这两个其实并不等价,因为 IOC 注重的是存,而依赖注入注重的是取, ...
- 最全的 Spring 依赖注入方式,你都会了吗?
欢迎关注方志朋的博客,回复"666"获面试宝典 前言 Spring 正如其名字,给开发者带来了春天,Spring 是为解决企业级应用开发的复杂性而设计的一款框架,其设计理念就是:简 ...
- Java程序员进阶——Spring依赖注入原理分析
Spring依赖注入原理分析 下面谈谈Spring是如何实现反转模式IOC或依赖注入模式DI: 平时,我们需要生成一个对象,使用new语法,如一个类为A public class A{public v ...
- java接口注入对象的意义_Java Web系列:Spring依赖注入基础
一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是 ...
- 控制反转IOC与依赖注入DI
为什么80%的码农都做不了架构师?>>> 1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最 ...
最新文章
- GPU加速:宽深度推理
- Python,OpenCV中的非局部均值去噪(Non-Local Means Denoising)
- BZOJ 1061费用流
- 从函数劫持角度看开发调试工具AlloyLever
- 李争——一个骨子里是极客的程序员
- 从事仪表专业学c语言有用吗,测控专业就业方向有哪些 就业前景比你想象中的好...
- Oracle 19c和20c新特性最全解密
- 支持向量机总结(SVM)
- 编码器的历史以及未来发展前景
- java watir_基于Ruby的watir-webdriver自动化测试方案与实施(一)
- 还不会用 Python 提取 PDF 表格?三种类型数据,轻松转换成 Excel
- windows 的快捷截图
- Maven学习(九)Maven项目SpringCloud微服务工程构建(基于单一案例的逻辑)
- 关于程序代码的时间复杂度
- MSDC 4.3 接口规范(26)
- 百度AI的2020:新基建铺路,硬实力出圈
- Swift开发 UIColor分类Hex颜色转换
- 揭秘Internet.org:这是扎克伯格的野心还是使命?
- 京东数科:无偿驰援 多款智能产品服务防控第一线
- 年入800万!韩国第一虚拟网红的崛起
热门文章
- zabbix1.8.5安装
- 利用bobo-browse 实现lucene的分组统计功能
- scikit-learn机器学习常用算法原理及编程实战(五)
- 卷积交织/解交织C++程序
- linux 文件系统 xfs、ext4、ext3 的区别
- Flask 上下文管理-- (session,request,current_app的传递)--类似本地线程实现,以及多app应用...
- Openlayer 3 的画图测量面积
- Effective C++_笔记_条款06_若不想使用编译器自动生成的函数,就该明确拒绝
- Windows文件系统过滤驱动开发教程(4)
- 接口测试工具--apipost如何取消json参数中转义字符