本篇文章为你整理了Spring(九):Bean的自动装配(97.spring 自动装配 bean 有哪些方式?)的详细内容,包含有在spring中,bean的自动装配的两种方式 97.spring 自动装配 bean 有哪些方式? spring自动配置bean有哪些方式 bean的自动装配方式 Spring(九):Bean的自动装配,希望能帮助你了解 Spring(九):Bean的自动装配。
3.隐式的自动装配。
前面我们一直在用的都是第一种xml中的配置,这里我们来学习第三种隐式的自动装配。
二、什么是自动装配
自动装配是Spring满足Bean依赖的一种方式,Spring会在上下文中自动寻找,并给Bean装配属性。
我们来举一个例子,这里我有三个实体类:
People:
package com.jms.pojo;
public class People {
private String name;
private Dog dog;
private Cat cat;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public Dog getDog() {
return dog;
public void setDog(Dog dog) {
this.dog = dog;
public Cat getCat() {
return cat;
public void setCat(Cat cat) {
this.cat = cat;
@Override
public String toString() {
return "People{" +
"name=" + name + \ +
", dog=" + dog +
", cat=" + cat +
};
}
Dog:
package com.jms.pojo;
public class Dog {
public void bark() {
System.out.println("wang~");
}
Cat:
package com.jms.pojo;
public class Cat {
public void bark() {
System.out.println("miao~");
}
Bean的配置:
bean id="dog" /
bean id="cat" /
bean id="people"
property name="name" value="jms"/
property name="dog" ref="dog"/
property name="cat" ref="cat"/
/bean
我们先配置好Dog和Cat的Bean后,再在People里引用他们。自动装配可以帮我们自动去寻找Dog和Cat,而不用我们来进行显式的配置。
三、自动装配的具体实现
1.通过byName进行自动装配
bean id="dog" /
bean id="cat" /
bean id="people" autowire="byName"
property name="name" value="jms"/
/bean
测试:
@Test
public void test1() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
People people = applicationContext.getBean("people", People.class);
people.getDog().bark();
people.getCat().bark();
}
通过byName实现自动装配是让set方法名匹配bean的id,匹配的到就对对应的bean进行引用,匹配不到就会报错。
2.通过byType进行自动装配
bean /
bean /
bean id="people" autowire="byType"
property name="name" value="jms"/
/bean
测试通过。
byType自动装配是通过set方法参数的属性来匹配对应的Bean。
(本文仅作个人学习记录用,如有纰漏敬请指正)
以上就是Spring(九):Bean的自动装配(97.spring 自动装配 bean 有哪些方式?)的详细内容,想要了解更多 Spring(九):Bean的自动装配的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。