https://blog.csdn.net/PNGYUL/article/details/81637536
装配Bean
@Component注解来对类进行标注,它可以被Spring容器识别,Spring容器将自动将类转换为容器管理的Bean。
除了@Component外,Spring提供了三个功能和@Component等效的注解。
它们一般用于web项目,对DAO,service,web层进行注解,所以也称为Bean的衍生注解。
@Repository:对DAO实现类进行注解
@Service:对service实现类进行注解
@Controller:对web层Controller实现类进行注解
通过注解配置的Bean和通过< bean >配置的Bean一样,默认的作用范围都是singleton,Spring为注解配置提供了一个@Scope的注解,显式指定Bean的作用范围。
Spring定义的@PostConstruct和@PreDestroy两个注解相当于bean的init-method和destory-method属性的功能
注入属性
Spring为我们提供了注解 @value,用于对一般属性注入,@Autowired 用于注入引用类型的属性。
@Autowired默认按类型匹配的方式,在容器中查找匹配的Bean,当有且只有一个匹配的Bean时,Spring将其注入到@Autowired注解的变量中。但是如果容器中有超过一个以上的匹配Bean时,例如有两个UserService类型的Bean,这时就不知道将哪个Bean注入到变量中,就会出现异常。为了解决这个问题,Spring可以通过@Qualifier注解来注入指定Bean的名称。
@Autowired
//指定指定Bean的名称
@Qualifier("userservice")
private UserService userservice;
还有一种更为便捷的注解方式注入属性@Resource,相当于@Autowired 和@Qualifier一起使用
@Resource(name="userservice")
private UserService userservice;
网友评论