スポンサーリンク

【SpringBoot】serviceとは?

Java
スポンサーリンク

今回の記事はSpringBootのserviceとは?という疑問に答える記事です。SpringBootはWeb開発をJavaで行う場合、非常に便利なフレームワークです。開発を行う際のディレクトリ構成やレイヤーの役割を押さえておくと開発効率的にもよいので、SpringBoot勉強中の方は是非参考にしてみてください。

また、SprtingBootの各ディレクトリ構成に関する記事や各ディレクトリの役割も別記事にまとめいているので是非参考にしてみてください。

スポンサーリンク

SpringBootにおけるserviceとは?

serviceとは文字で説明すると「controllerに対して、業務ロジックを提供する。トランザクション境界。」と説明している記事が多いです。

entityへの詰め替えはrepositoryで行うのでserviceでは純粋な業務系のロジックとrepositoryメソッドを呼び出すのみです。

図で表すと下記のような役割です。

SpringBootにおけるserviceの実装

実際にコードでserviceを実装すると下記のようになります。

package com.example.demo.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.example.demo.dto.SampleDto;
import com.example.demo.repository.SampleRepository;

@Service
public class SampleService {

	private SampleRepository repository;

	public SampleService(SampleRepository repository) {
		this.repository = repository;
	}


	// ユーザ登録
	public void registUser(SampleDto dto){
		// 入力チェック

		// ロジック系の処理

		Integer result = repository.insertUser(dto);

		if (result.equals(1)) {
			// エラー処理
		}

		// 正常処理
		return;
	}


	// 一覧取得
		public List<SampleDto> getUserList(){

			List<SampleDto> data = repository.selectAll();

      // 個数の集計など

			return result;
		}
}

repositoryのインスタンスをコンストラクタインジェクションを使ってインスタンスを作成。

public void registUser(SampleDto dto){
		// 入力チェック

		// ロジック系の処理

		Integer result = repository.insertUser(dto);

		if (result.equals(1)) {
			// エラー処理
		}

		// 正常処理
		return;
	}

上記の部分のように、repositoryのinsertメソッドを使用するために、入力チェックやロジック系の処理を行なってからinsertを行うなどをここで設定します。

さらにserviceのプロジェクト全体の動きを知りたい方はは下記記事で各レポジトリの役割とサンプル的なアプリコードがありますので、そちらでserviceの役割を追ってみてください。

【SpringBoot】ディレクトリ構成と各ディレクトリの役割ご紹介。

では、今回の記事は以上です。ほかにもSpringBoot関連の記事を記載しているので、是非参考にしてみてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Java
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました