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

通过xml文件配置

  • 根据类型自动装配

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

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

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


    
    
        
    

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

  • 根据名字自动装配

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

    

    

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

使用注解自动装配

  • @Autowired

通常应用于一下场景:

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

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


    //...

    
    //...

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

  • @Controller
  • @Service
  • @Repository
    目前这三个注解和autowired的作用时一样的,另外使用自动装配时,如果在应用上下文中,对应类型的Bean有且只有一个,则会自动装配到该属性上。

你可能感兴趣的:(spring学习笔记(三)——Bean的管理及自动装配)