springboot

SpringBootの@Componentと@Serviceの違いとは

投稿日:

あなた
SpringBootの@Componentと@Serviceの違いがわからない。。どんな意味があるの?
@はわかるようで最初は少し理解に苦しむところもあるかもね。説明します。
てんし君

こんな方におすすめ

  • @Componentと@Serviceの違いを知りたい方
  • SpringBoot初学者

@Componentも@Serviceも基本的には同じ

実は@Componentと@Serviceは基本的な意味合いでは同じです。

両者とも「機械に役割、処理する場所を教えてあげる」という意味があります。

 

ここはコンポーネントだよ!サービスだよ!と宣言しています。

 

機械に教える役割は同じなのにComponentとServiceと名前が違っているのは

人間がわかりやすいから」です。

 

全て@Componentとクラスに記述されていると、そのクラスが一体どんな役割を果たしているのかぱっと見ではわかりません。

 

そこでサービスクラスには@Service、コントローラクラスには@Controller、リポジトリクラスには@Repository、その他には@Componentと記述します。

 

まとめ

・基本的な役割(機械に教えてあげる)は同じ

・目で見てわかるように名前を変える

 

なかなか実は役割では一緒なんて想像つきにくいですよね。。

名前違うし笑

-springboot

Copyright© エンジニアてんし君ブログ , 2020 All Rights Reserved.