欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

自动装配bean

程序员文章站 2022-03-27 08:48:51
1.通过autowire中的byName实现自动装配自动与set方法set后面的名字相同的bean的id匹配注意:id必须上下文唯一,且和自己对象中set方法后边的名字相同

1.通过autowire中的byName实现自动装配

自动与set方法set后面的名字相同的bean的id匹配
注意:id必须上下文唯一,且和自己对象中set方法后边的名字相同

         <bean id="cat" class="com.zhu.pojo.cat"></bean>
    <bean id="dog" class="com.zhu.pojo.dog"></bean>

    <bean id="perple" class="com.zhu.pojo.perple" autowire="byName">
<!--    <bean id="perple" class="com.zhu.pojo.perple" autowire="byType">-->

    </bean>

2.通过autowire中的byTpye实现自动装配

自动与自己对象属性类型相同的bean匹配
注意:class必须上下文唯一,id可以省略不写

       <bean id="cat" class="com.zhu.pojo.cat"></bean>
    <bean id="dog" class="com.zhu.pojo.dog"></bean>

   <!--  <bean id="perple" class="com.zhu.pojo.perple" autowire="byName">-->
   <bean id="perple" class="com.zhu.pojo.perple" autowire="byType">

    </bean>

3.可以通过@Autowired注解来实现bean自动装配

1.开启注解支持

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--开启注解支持-->
    <context:annotation-config></context:annotation-config>

       <bean id="cat" class="com.zhu.pojo.cat"></bean>
    <bean id="dog" class="com.zhu.pojo.dog"></bean>
    <bean id="perple" class="com.zhu.pojo.perple"></bean>
    
</beans>

2.在自己对象属性上添加@Autowired属性

package com.zhu.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class perple {

    @Autowired
    private dog dog;
    @Autowired
    private cat cat;
    private String name;

}

4.可以通过@Resource注解来实现bean自动装配

配置步骤和@Autowired一样。

@Autowired和@Resource的却别

(1) @Autowired通过byType的方式实现,而且必须要求这个对象存在。
(2)@Resource默认通过byName方式实现,如果找不到id则通过byType实现

本文地址:https://blog.csdn.net/weixin_45723003/article/details/111939689

相关标签: spring