@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。
扩展资料:
默认情况下,@Autowired 注解意味着依赖是必须的,它类似于 @Required 注解,然而,可以使用 @Autowired 的 (required=false) 选项关闭默认行为。
@Autowired最终是根据类型来查找和装配元素的,但是设置了<beans default-autowire="byName"/>后会影响最终的类型匹配查找。因为在前面有根据BeanDefinition的autowire类型设置PropertyValue值,其中会有新实例的创建和注册。
2024-04-11 广告
具体的应用是:
1)在Service类中定义的注入属性前加@Autowired。例如:@Autowired private PersonDAO personDAO,
2)必须有个set方法,例如:
@Autowired
public void setPersonDAO(PersonDAO personDAO) {
System.out.println("********** @Autowired注入Bean *************");
this.personDAO = personDAO;
}
Spring配置文件的配置内容:
1) 头部
(加入)xmlns:context="http://www.springframework.org/schema/context"
(添加)xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
2)
<context:annotation-config/>
<bean id="personDAO" class="edu.syict.dao.impl.PersonDAOImpl"/>
<bean id="personService" class="edu.syict.service.impl.PersonServiceImpl"/>
有问题发信息。
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用;
@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上。前者,Spring会直接将UserDao类型的唯一一个bean赋值给userDao这个成员变量;后者,Spring会调用setUserDao方法来将UserDao类型的唯一一个bean装配到userDao这个属性。
Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。