(1)说明Spring IoC中常用的注解及它们的作用。 (2)按类型注入Bean对象的注解是什么? (3)为什么可以使用按类型注入,什么情况下按类型注入会出错?
时间: 2024-02-09 07:07:04 浏览: 58
好的,我会回答你的问题。
(1) Spring IoC中常用的注解及它们的作用如下:
- @Component: 将一个类声明为组件,表示这个类会被Spring进行管理;
- @Autowired: 自动装配,根据类型进行自动装配;
- @Qualifier: 当一个接口有多个实现类时,使用该注解指定需要注入的实现类;
- @Value: 对属性进行赋值;
- @Resource: 名称装配,根据名称进行注入;
- @PostConstruct: 在Bean初始化之后执行的方法,相当于init-method;
- @PreDestroy: 在Bean销毁之前执行的方法,相当于destroy-method。
(2) 按类型注入Bean对象的注解是@Autowired。
(3) 可以使用按类型注入是因为Spring会扫描所有的Bean对象,将它们的类型与需要注入的属性类型进行匹配,如果匹配成功就会自动注入。但是,在以下情况下按类型注入会出错:
- 当一个接口有多个实现类时,Spring无法确定要注入哪一个实现类,此时需要结合@Qualifier注解使用;
- 当同一个类型的Bean对象有多个时,Spring也无法确定要注入哪一个,此时同样需要结合@Qualifier注解使用;
- 当需要注入的属性类型与Bean对象类型不匹配时,会抛出异常。
阅读全文