Spring IOC 自动装配(注入)
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属性值保持一致)


 投递字节跳动等公司10个岗位
投递字节跳动等公司10个岗位