好图分享,学习之前娱乐一下
自动装配:根据指定装配规则(属性名称或者属性类型),spring会自动将匹配的属性值进行注入。
解释:按照之前讲的属性值的注入是通过XML配置文件当中的<property></property>标签,而现在通过自动化装配讲值进行注入。
自动装配实现代码:通过配置文件当中bean标签属性autowire,来实现自动装配
autowire属性两个常用的两个值:
byName:根据属性名称进行注入,注意:注入值的id值与类属性名称一样
byType:根据属性类型注入
案例实现:通过demo2去调用demo1类实现demo1与demo2两各类的内容输出。
代码讲解:
还是一个基础类:
public class demo1 {
@Override
public String toString() {
return "demo1{}";
}
}
调用类:通过调用类去调用基础类
public class demo2 {
private demo1 demo1;
public void setDemo1(new_study.java_file.author.demo1 demo1) {
this.demo1 = demo1;
}
@Override
public String toString() {
return "demo2{" +
"demo1=" + demo1 +
'}';
}
}
配置文件:
属性类型:
<bean id="demo2" class="new_study.java_file.author.demo2" autowire="byType"></bean>
<bean id="demo1" class="new_study.java_file.author.demo1"></bean>
<!--通过属性类型进行注入-->
属性名称
<bean id="demo2" class="new_study.java_file.author.demo2" autowire="byName"></bean>
<bean id="demo1" class="new_study.java_file.author.demo1"></bean>
<!--通过属性名称进行输入-->
测试类:
public class test {
@Test
public void play(){
ApplicationContext context = new ClassPathXmlApplicationContext("new_study/java_file/author/bean.xml");
demo2 demo2 = context.getBean("demo2",demo2.class);
System.out.println(demo2);
}
}
输出结果: