Compartilhamento de tecnologia

Primavera - fiação automática de feijão

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

· Autowiring é uma maneira do Spring satisfazer as dependências do bean

· O Spring irá encontrá-lo automaticamente no contexto e montar automaticamente as propriedades do bean.


Existem três formas de montagem no Spring:

1. Exibir configuração em xml

2. Exibir configuração em java

3. Fiação automática implícita de beans [Importante]


teste

Lembre-se de criar classes Gato, Cachorro e Pessoas

  1. public class MyTest {
  2. @Test
  3. public void test1(){
  4. ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
  5. People people = context.getBean("people", People.class);
  6. people.getDog().shout();
  7. people.getCat().shout();
  8. }
  9. }

Fiação automática ByName

  1. <!--
  2. byName:会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid
  3. -->
  4. <bean id="people" class="com.yang.pojo.People" autowire="byName">
  5. <property name="name" value="辰阳"/>
  6. </bean>

Montagem automática ByType

  1. <bean class="com.yang.pojo.Cat"/>
  2. <bean class="com.yang.pojo.Dog"/>
  3. <!--
  4. byType:会自动在容器上下文中查找,和自己对象属性类型相同的bean(必须保证类型全局唯一,如有两个狗就会报错)(可以省略id)
  5. -->
  6. <bean id="people" class="com.yang.pojo.People" autowire="byType">
  7. <property name="name" value="辰阳"/>
  8. </bean>

resumo:

·  Por nome, você precisa garantir que o ID de todos os beans seja único e que esse bean precise ser consistente com o valor do método set do atributo injetado automaticamente.

·  bytype, você precisa garantir que a classe de todos os beans seja exclusiva e que o bean precise ser consistente com o tipo de atributos injetados automaticamente.