博客
关于我
Spring DI依赖注入之 set注入柒种方式,美滋滋 (二)
阅读量:241 次
发布时间:2019-03-01

本文共 3387 字,大约阅读时间需要 11 分钟。

文章目录:

写在前面:
本文主要学习依赖注入之set注入的方式,如何注入Bean容器。在环境搭建好的前提下进行创建pojo类。
DI 注入的讲解

DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。

理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”,那我们来深入分析一下:

●谁依赖于谁:当然是应用程序依赖于IoC容器;

●为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;

●谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象;

●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)。


1.地址类:

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 + '\'' +			'}';}}

2.学生类:

public class Student {private String name;private Address address; // 唯一引用对象private String[]Books;private List
hobbs;private Map
card;private Set
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) { Books = books;}public List
getHobbs() { return hobbs;}public void setHobbs(List
hobbs) { this.hobbs = hobbs;}public Map
getCard() { return card;}public void setCard(Map
card) { this.card = card;}public Set
getGames() { return games;}public void setGames(Set
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 + ", Books=" + Arrays.toString(Books) + ", hobbs=" + hobbs + ", card=" + card + ", games=" + games + ", wife='" + wife + '\'' + ", info=" + info + '}';}}

3.resources 目录下创建Applicationcountext.xml 目录,

创建使用NEW —>File 的方式

4.本章节的关键点:

四大名著
红楼梦
西游记
水浒传
三国演义
打篮球
看电影
敲代码
狂街
CF
LOL
COC
BOB
20210410
贺伟
  1. MyTest 测试用例:

public class MyTest {

public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“Applicationcontext.xml”);
Student student = (Student) context.getBean(“Student”);
System.out.println(student.toString());
}
}

  1. 输出结果
    在这里插入图片描述
总结:

1、前两种方式是我们经常使用的注入方式,剩下的List、Map、set、Properties、null为拓展注入的方式

2、拓展的5个为JavaEE集合章节中的知识 不过是换成标签元素进行注入的。

在这里插入图片描述

转载地址:http://denv.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中怎样让网站返回JSON数据
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>
Node-RED简介与Windows上安装、启动和运行示例
查看>>
Node-RED订阅MQTT主题并调试数据
查看>>
Node-RED通过npm安装的方式对应卸载
查看>>
node-request模块
查看>>
node-static 任意文件读取漏洞复现(CVE-2023-26111)
查看>>