spring5 入门(三) 自动装配

自动装配指的是spring中的某个bean自动注入对应的依赖bean

自动寻找范围的是同一个上下文内(bean.xml),当然如果这个bean使用了improt标签,就可以联合其他xml文件

 

自动装配有两种方式:

1,在XML里配置,对应属性是autowire,只有两个value值,分别是byName,byType,

当一个类中的属性 包含其他类,就会在这个xml里上下文寻找对应类进行自动注入。

        <bean id="people" class="com.hys.dao.people" autowire="byType">
            <property name="name" value="易安"></property>
        </bean>
        <bean id="people" class="com.hys.dao.people" autowire="byName">
            <property name="name" value="易安"></property>
        </bean>

 

2,java程序配置,使用注解进行配置,使用注解之前需要现在配置文件里声明:下面代码红色部分,全部要添加上

<?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>

对应的注解如下:

@Resource和@Autowired功能一致,都是回去bean中寻找对应类型或名字进行匹配,它们的作用相同都是用注解方式注入对象,但执行顺序不同。@Autowired先byType,@Resource先byName。

@Qualifier 不能单独使用,可以和@Autowired配合,可以指定对应bean的id

@Autowired可以带参数,required=flase表示可以为空

@Nullable表示这个参数可以为空,可以不需要。

public class people {
    @Autowired(required = false)
    @Qualifier(value = "cat2")
    private String name;
    @Resource
    private Dog dog;
    @Autowired
    private CAT cat;

}

 

spring5 入门(三) 自动装配

上一篇:将python脚本安装到本地系统库


下一篇:奇牛C++从入门到精通-高级程序员之路