recherche

Maison  >  Questions et réponses  >  le corps du texte

java - Spring框架中autowire,by name和by type有什么区别

下面代码autowire="byName"意思是通过id="userDao"来查找Bean中的userDao对象是吗?

      若autowire="byType"意思是通过 class="cn.com.bochy.dao.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象。

这样理解对吗??

<bean id="userServiceImpl"
            class="cn.com.bochy.service.impl.UserServiceImpl"
            autowire="byName">
       </bean>  
      <bean id="userDao"                                         

             class="cn.com.bochy.dao.impl.UserDaoImpl">
</bean>

这个问题已解决,总结如下:
spring中装配bean的基础知识如下:
1.<bean id="" class="">,bean是spring中最基本的配置单元,通过<bean>spring将创建一个对象。id属性定义了bean的名字,同时也作为该bean在spring容器中的引用。

PHPzPHPz2890 Il y a quelques jours1017

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-04-17 18:02:13

    byName est basé sur l'identifiant ou le nom du Bean, et byType est basé sur le type de classe du Bean.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 18:02:13

    En

    Spring, autowire="byName" signifie que si le bean d'un name a le même nom d'attribut qu'un autre bean, ils seront automatiquement associés.

    Dans l'exemple suivant, customer est un bean, et il a un attribut appelé address trouvera un Spring nommé address dans le conteneur actuel et les associera. S'il n'est pas trouvé, ne faites rien. bean

    <!-- customer has a property name "address" -->
    <bean id="customer" class="com.test.common.Customer" autowire="byName" />
        
    <bean id="address" class="com.test.common.Address" >
        <property name="fulladdress" value="Block A 888, CA" />
    </bean>

    client

    package com.test.common;
     
    public class Customer 
    {
        private Address address;
        //...
    }

    adresse

    package com.test.common;
     
    public class Address 
    {
        private String fulladdress;
        //...
    }

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-17 18:02:13

    Il est recommandé de lire "Spring in Action" Chapitre 3, Section 1, "Câblage automatique des propriétés du bean"

    répondre
    0
  • Annulerrépondre