spring自动注入中byName和byType 您所在的位置:网站首页 spring依赖注入的作用 spring自动注入中byName和byType

spring自动注入中byName和byType

2023-08-21 21:11| 来源: 网络整理| 查看: 265

spring自动注入中byName和byType 1,byName:

其实byName根据被注入的名称作为bean名称作为依赖查找,并将对象设置到该属性。(根据bean的id进行查找)

首先创建Student类:

public class Student { private String name; private String id; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", id='" + id + '\'' + '}'; } public void setName(String name) { this.name = name; } public void setId(String id) { this.id = id; } }

然后创建School类:

public class School { private String name; private String addrees; private Student student; @Override public String toString() { return "School{" + "name='" + name + '\'' + ", addrees='" + addrees + '\'' + ", student=" + student + '}'; } public void setStudent(Student student) { this.student = student; } public void setName(String name) { this.name = name; } public void setAddrees(String addrees) { this.addrees = addrees; } }

创建.xml配置文件:

创建测试类:

public class tests02 { @Test public void test(){ ApplicationContext ioc = new ClassPathXmlApplicationContext("test01/teach-ioc.xml"); Object bean01 = ioc.getBean("school"); System.out.println(bean01); } } 2,byType:

byType通过属性的类型查找javabean依赖的对象并为其注入

为应用指定多个 Spring 配置文件

在实际应用里,随着应用规模的增加,系统中 Bean 数量也大量增加,导致配置文件变 得非常庞大、臃肿。为了避免这种情况的产生,提高配置文件的可读性与可维护性,可以将 Spring 配置文件分解成多个配置文件。

包含关系的配置文件:

多个配置文件中有一个总文件,总配置文件将各其它子文件通过引入。在 Java 代码中只需要使用总配置文件对容器进行初始化即可。

在这里插入图片描述

创建新的.xml配置文件(命名tatle.xml)然后就可以导入配置文件:

创建测试类:

public class tests03 { @Test public void test() { ApplicationContext ioc = new ClassPathXmlApplicationContext("test01/tatle.xml"); Object bean = ioc.getBean("student");//这里的school是spring-student.xml中的bean System.out.println(bean); } }

此时ioc.getbean调用的是spring-student中的id为student的bean。

运行结果:

在这里插入图片描述

当然也有可能会有小错误:

在这里插入图片描述

这是因为:

在这里插入图片描述

tatle.xml之前不要忘了它所在的包名。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有