springboot

SpringBootのControllerとServiceの関係は?なぜ両方必要なのか?

2019年11月7日

 

あなた
SpringBootで開発する時コントローラークラスの他にサービスクラスを作る時が多いんだけどぶっちゃけコントローラクラスだけで良くない?ダメなの?
んー。よくはない!僕も両方が必要な理由がいまいちピンと来なかった。けど今は両者の役割がよくわかる。
てんし君
あなた
早く教えてよ
はっ!!ついつい語ってしまいました笑では今回はSpringBootのControllerクラスとServiceクラスの関係について説明していきまーす!
てんし君

 

こんな方におすすめ

  • RestControllerの役割について知りたい方
  • SpringBoot初学者

Controllerは監督でServiceは選手

SpringBootにおけるコントローラクラスとサービスクラス。両者の関係性はずばり「監督と選手」です。

Controllerは司令塔

どんなスポーツでも良い監督がいないチームは負けがちですし戦術も機能しません。

プログラムもそうです。

行動を取りまとめる司令塔であるControllerが存在することでより良いプログラムが完成するのです。

Serviceは選手

サッカーをイメージしてください。

選手はそれぞれ専門の役割を持っています。

例えばGK、FW、MFなどです。

SpringBootにおけるServiceクラスはサッカーにおける選手の存在に近いです。

この時のControllerはもちろん監督です。

何か問題があったりしたときは監督に報告しますし、監督からの指示があれば従いますよね。

Serviceの役割も選手と同じです。

SpringBootではControllerとServiceがいるがメリット

何となくControllerとServiceの関係性や必要性が理解できたでしょうか。

初学者にありがちな考え方として

「なるべく一つのクラスにいろんな処理をまとめよう」

というものがあります。

確かに見かけ上はシンプルに見えるかもしれませんが、実際の業務ではまずそんな構造のプログラムを組むことはないでしょう。

なぜなら、規模の大きいプログラムを組むときはなるべくシンプルな処理ごとに分けて作って行くからです。

そうするメリットとしてはプログラムの修正がしやすいという点があります。

もし複数の処理を一つのクラスにまとめてしまっていると修正が難しくなります。

こうしたことを考えるとSpringBootにおけるControllerとServiceの両方を使って処理を実装することは非常に便利だということがわかるでしょう。

 

てんし君
すごいですよね!自分でプロジェクトを作るときも「規模が大きくなっても修正しやすいか」「他人にも理解してもらいやすい構造になっているか」を意識すると実践的なものを作れると思います。

 

プログラミングスクールに関する情報

2021年最新プログラミングスクール おすすめランキング 【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきまし ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。 1位:テックキャンプ  【転職成功率 ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   エンジニアを目指すにあたってまず最初に自社開発企業への転職を希望する方がほとんどです。 ...

続きを見る

プログラミンングスクールに無料で通うならココ【現役エンジニアおすすめ】と書かれた画像
プログラミンングスクールに無料で通うならココ【現役エンジニアおすすめ】

  あなたプログラミングスクールに通いたいけどどのスクールも何十万もして通えません。コスパよくエンジニアになれるスクールはありますか?   今回はコスパが良いどころか完全に無料でプ ...

続きを見る

-springboot

© 2021 エンジニアてんし君ブログ