41、什么是bean的自动装配,有哪些方式

什么是bean的自动装配,有哪些方式

开启自动装配,只需要在xml配置文件中定义”autowire”属性。

<bean id="cutomer" class="com.xxx.xxx.Customer” autowire="" />

autowire属性有五种装配的方式:

  • no - 缺省情况下,自动配置是通过“ref属性手动设定,

      手动装配:以value或ref的方式明确指定属性值都是手动装配。
      需要通过“ref,属性来连接bean。
    
  • byName-根据bean的属性名称进行自动装配
    Cutomer的属性名称是person,Spring会将bean id为person的bean通过setter方法进行自动装配

<bean id="cutomer" class="com.XxxXxx.Cutomer" autowire="byName"/>
<bean id="person" class="com.xxxxxx.Person"/>
  • byType-根据bean的类型进行自动装配。

      Cutomer的属性person的类型为Person,Spirng会将Person类型通过setter方法进行自动装配。
    
<bean id="cutomer" class="com,xxxxxx.Cutomer” autowire="byType"/>
<bean id="person" class="com.xxx.xxx.Person"/>
  • constructor-类似byType,不过是应用于构造器的参数。如果一个bean与构造器参数的类型相同,则进行自动装配,否则导致异常。
    Cutomer构造雨数的参数person的类型为Person,Spirng会将Person类型通过构造方法进行自动装配。
<bean id="cutomer" class="com,xxx,xxx,Cutomer" autowire="construtor"/>
<bean id="person” cTass="com .xxx.xxx.Person"/>
  • autodetect-如果有默认的构造器,则通过constructor方式进行自动装配,否则使用byType方式进行自动装配

@Autowired自动装配bean,可以在字段、setter方法、构造函数上使用。

你可能感兴趣的:(java,spring,自动装配,bean,byType,autowire,byName)