spring自动注入中byName和byType | 您所在的位置:网站首页 › spring依赖注入的作用 › spring自动注入中byName和byType |
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 实验室设备网 版权所有 |