Spring5.Xbean的自动装配Autowire属性

1.属性注⼊

前⾯学过属性注⼊,set⽅法、构造函数等,属于⼿⼯注⼊

有没办法实现⾃动装配注⼊?

2.Spring⾃动注⼊

使⽤元素的 autowire 属性为⼀个 bean 定义指定⾃动装配模式

autowire设置值 :
no:没开启

byName: 根据bean的id名称,注⼊到对应的属性⾥⾯

byType:根据bean需要注⼊的类型,注⼊到对应的属性⾥⾯ 如果按照类型注⼊,存在2个以上bean的话会抛异常 expected single matching bean but found 2

constructor: 通过构造函数注⼊,需要这个类型的构造函数

<!--autowire属性是默认值是no,byName是根据videoOrder对象中的属性名自动注入,byType是根据类型自动注入-->
<bean id="videoOrder" class="com.xx.domain.VideoOrder" depends-on="video" autowire="byName">
    <!--name是属性名称-->
    <property name="id" value="8"/>
    <property name="outTradeNo" value="15534e55fc"/>
</bean>

测试:

public static void testInject(ApplicationContext context){
    Video video1=(Video)context.getBean("video");
    System.out.println(video1.getTitle());
    VideoOrder videoOrder=(VideoOrder)context.getBean("videoOrder");
    System.out.println(videoOrder.getVideo().getTitle());

}

测试结果:
Spring5.Xbean的自动装配Autowire属性如上图所示:video对象被创建

上一篇:Spring IoC⾃动装载(Autowire)


下一篇:【Spring 从0开始】IOC容器的Bean管理 - 基于XML - 自动装配