こんな方におすすめ
- @Componentと@Serviceの違いを知りたい方
- SpringBoot初学者
@Componentも@Serviceも基本的には同じ
実は@Componentと@Serviceは基本的な意味合いでは同じです。
両者とも「機械に役割、処理する場所を教えてあげる」という意味があります。
ここはコンポーネントだよ!サービスだよ!と宣言しています。
機械に教える役割は同じなのにComponentとServiceと名前が違っているのは
「人間がわかりやすいから」です。
全て@Componentとクラスに記述されていると、そのクラスが一体どんな役割を果たしているのかぱっと見ではわかりません。
そこでサービスクラスには@Service、コントローラクラスには@Controller、リポジトリクラスには@Repository、その他には@Componentと記述します。
まとめ
・基本的な役割(機械に教えてあげる)は同じ
・目で見てわかるように名前を変える
なかなか実は役割では一緒なんて想像つきにくいですよね。。
名前違うし笑