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属性值保持一致)