当我使用@Service时,在Spring Boot中到底发生了什么?

y1aodyip  于 2022-11-28  发布在  Spring
关注(0)|答案(1)|浏览(171)

我知道我们在业务逻辑中使用了@Service,但是Spring看到这个注解时到底做了什么呢?如果可能的话,有人能解释一下吗?例如,当我们写@Autoweired时,它允许Spring解析并将协作bean注入到我们的bean中。提前感谢

yfjy0ee7

yfjy0ee71#

据我所知,这两者之间没有任何区别。您也可以在服务类上使用@Component注解,它会工作得很好。Spring将识别并扫描它以创建bean。
@Service注解中包含@Component,类似于@RestController中包含@Controller,但在控制器理论中,@RestController确实带来了一些附加特性(@Controller + @ResponseBody = @RestController)。
总的来说,用@Service标注服务类,用@Repository标注持久性类(@Repository确实有比@Component更多的特性,比如事务回滚)是一个很好的做法,但是所有这些构造型标注都包含@Component标注,以便Spring能够扫描它们并在Spring容器中注册以创建bean。
在我看来,@Service只是用来使代码更可读和结构化,但如果您将@Component用于服务层,则没有任何区别。

相关问题