博客
关于我
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/

你可能感兴趣的文章
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>