1 spring 配置文件中的配置信息

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

     //自动装配语句
    <context:annotation-config/> 

    <bean id="UserDao" class="org.example.UserDao.UserDao"></bean>
    <bean id="UserServices" class="org.example.UserServices.UserServices"></bean>


</beans>

2 添加注释

@Resource
    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public void test(){
        System.out.println("UserServices test...");
        userDao.test();
    }

3 @Resource注释

(1)注释默认通过属性字段名称查找对应的bean对象(属性字段名称与bean标签的id属性值一致)

(2)如果属性字段名称不一样,则会通过类型(class)

(3)属性字段可以提供set方法 也可以不提供

(4)注释可以生命在属性字段上 或set方法级别

(5)可以设置name属性,name属性值要与bean标签的id属性值一致(如果设置了name属性,则需要通过name属性查询bean对象)

(6)当注入接口时,如果接口只有一个实现类,则正常实例化;如果接口有多个实现类,则需要使用name属性指定需要被实例化的bean对象。

4 @Autowired注释

(1)注释默认使用类型(class类型)炸炒bean对象,与属性字段没有关系。

(2)属性字段可以提供set方法 也可以不提供

(3)注释可以生命在属性级别或是set方法级别

(4)如果想通过指定名称查找bean对象,则需要通过@Qulifier使用(通过value属性值要bean标签的id属性值保持一致)