当一个接口只有一个实现类,括号里的内容是没有意义的,只有在有多个实现类的时候才会起到作用.
比如在一个Student实现类上加上@Service(“student”),括号里面就是给实例化后的Student对象取个名字。。。
这是在你一个接口有多个实现类的情况下区分实现类的方式。。。。
比如Student实现了Person接口,在你的controller里面@Autowired Person时,
假如这时Person还有另一个实现类User,为了确定实例化Student还是User, @Service括号里面的东西就有用了,
@Autowired
@Qualifier(“student”)
private Person person;
这样就确定实例化了一个Person指向一个Student对象。
@service(xxx)括号里的内容的作用
最新推荐文章于 2022-03-01 09:31:57 发布
本文详细解释了在Java中,当一个接口有多个实现类时,如何使用@Service注解配合@Autowired注解来指定特定的实现类实例。通过在实现类上添加@Service(student)并使用@Qualifier(student)来确保在Controller中注入的是期望的Student对象,而不是其他可能的实现类。这种方法对于多实现类的依赖注入提供了明确的控制。
2062

被折叠的 条评论
为什么被折叠?



