Spring_Bean的自动装配

时间:2021-06-21 19:52:51   收藏:0   阅读:0

7 Bean的自动装配

 

 

在Spring中有三种装配的方式:

1.在xml中显示的配置

2.在java中显示配置

3.隐式的自动装配【重点】

 

7.1 byName自动装配

byName会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid

<bean id="cat" class="com.gazikel.pojo.Cat"></bean>
<bean id="dog" class="com.gazikel.pojo.Dog"></bean>
<bean id="person" class="com.gazikel.pojo.Person" autowire="byName">
    <property name="name" value="Gazikel"></property>
</bean>

 

7.2 byType自动装配

byType会自动在容器上下文中查找,和自己对象属性类型相同的bean

<bean class="com.gazikel.pojo.Cat"></bean>
<bean class="com.gazikel.pojo.Dog"></bean>
<bean id="person" class="com.gazikel.pojo.Person" autowire="byType">
    <property name="name" value="Gazikel"></property>
</bean>

 

 

小结:

 

7.3 使用注解实现自动装配

jdk1.5支持的注解,Spring2.5就支持注解了!

1.导入约束

2.配置注解的支持

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>

</beans>

 

@Autowired

直接属性上使用即可!

也可以在set方法上使用!

使用Autowired我们可以不用编写set方法了,前提是你这个自动装配的属性在IOC容器中存在,且符合名字byName

 

@Nullable 

 

@Autowired(required = false)

 

如果显式定义了Autowired的required属性为false,说明这个对象可以为null,否则不允许为空

 

@Qualifier

如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解 【@Autowired】 完成的时候,我们可以使用

@Qualifler(value = "")

去配合@Autowired的使用,完成装配

 

@Resource

 

@Autowired和@Resource的区别:

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!