自动装配bean 梦里梦外; 2022-12-31 13:24 188阅读 0赞 ## 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实现
还没有评论,来说两句吧...