Spring(九):Bean的自动装配(97.spring 自动装配 bean 有哪些方式-)

  本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: