Java学习笔记

spring学习笔记(三)——Bean的管理及自动装配

2018-07-18  本文已影响0人  顾烟凉

通过xml文件配置

如果一个bean的数据类型和其他bean属性的数据类型相同,可以自动兼容装配它,过程如下:
1.存在如下两个bean:dao和service

public class Dao{
      private Dao dao;
      ........
}
public class Service{
      private Service service;
      ........
}

通常情况下,我们使用明确装配,即为每一个bean单独创建配置并注入属性。当启用根据类型装配的时候,可以保留一个bean的属性未设置,spring会根据相同的数据类型自动装配它。

<bean id="dao" class="club.guyanliang.Dao" autowire="byType" />
    
    <bean id="service" class="club.guyanliang.Service" >
        <property name="skill" value="Invisible" />
    </bean>

需要注意的是,在根据类型自动装配的情况下,必须保证Bean只有一个唯一的数据类型声明,否则会报错UnsatisfiedDependencyException

还是以上Dao和Service两个bean为例:

    <bean id="dao" class="Dao"/>

    <bean id="service" class="Service" autowire="byName"/>

通过名字装配,无需再声明属性标记,spring会在service中寻找是否存在dao这个属性,再去IOC容器中寻找dao对象,如果有的话就装配。

使用注解自动装配

通常应用于一下场景:

  • 构造函数
  • 成员变量
  • Setter方法
  • 普通方法

要启用Autowired注解,首先我们要引入约束以及开启注解扫描

<beans 
    //...
    xmlns:context="http://www.springframework.org/schema/context"
    //...
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    //...

    <context:annotation-config />
    //...
</beans>

具体实现场景就不在此赘述,创建对象还有三个注解:

上一篇 下一篇

猜你喜欢

热点阅读