From ce3f467c935c7a01fd81641b82b9403efa3f4985 Mon Sep 17 00:00:00 2001 From: t-eguchi <26-t-eguchi-tmn@it-college.co.jp> Date: Tue, 6 Oct 2026 15:14:55 +0900 Subject: [PATCH] =?UTF-8?q?Q1=E7=B5=82=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/Application.java | 18 +++++++++++ .../com/example/demo/ServletInitializer.java | 13 ++++++++ .../demo/application/Q1Controller.java | 31 +++++++++++++++++++ .../com/example/demo/domain/Q1Entity.java | 27 ++++++++++++++++ .../java/com/example/demo/logic/Q1Logic.java | 15 +++++++++ .../com/example/demo/persistence/Q1Dao.java | 18 +++++++++++ .../com/example/demo/presentation/Q1View.java | 29 +++++++++++++++++ .../com/example/demo/service/Q1Service.java | 20 ++++++++++++ 8 files changed, 171 insertions(+) create mode 100644 02-SpringFramework/src/main/java/com/example/demo/Application.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/ServletInitializer.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/application/Q1Controller.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/domain/Q1Entity.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/logic/Q1Logic.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/persistence/Q1Dao.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/presentation/Q1View.java create mode 100644 02-SpringFramework/src/main/java/com/example/demo/service/Q1Service.java diff --git a/02-SpringFramework/src/main/java/com/example/demo/Application.java b/02-SpringFramework/src/main/java/com/example/demo/Application.java new file mode 100644 index 0000000..d12e393 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/Application.java @@ -0,0 +1,18 @@ +package com.example.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; + +import com.example.demo.presentation.Q1View; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + ConfigurableApplicationContext context = SpringApplication.run(Application.class, args); + Q1View sample = context.getBean(Q1View.class); + sample.view(); + } + +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/ServletInitializer.java b/02-SpringFramework/src/main/java/com/example/demo/ServletInitializer.java new file mode 100644 index 0000000..01dd7e2 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/ServletInitializer.java @@ -0,0 +1,13 @@ +package com.example.demo; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(Application.class); + } + +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/application/Q1Controller.java b/02-SpringFramework/src/main/java/com/example/demo/application/Q1Controller.java new file mode 100644 index 0000000..0f71dcf --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/application/Q1Controller.java @@ -0,0 +1,31 @@ +package com.example.demo.application; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; + +import com.example.demo.domain.Q1Entity; +import com.example.demo.logic.Q1Logic; +import com.example.demo.service.Q1Service; + +@Controller +public class Q1Controller { + @Autowired + Q1Service service; + @Autowired + Q1Logic logic; + + public String show(String mailaddress, String password) { + if (mailaddress.length() > 256) { + return "メールアドレスもしくはパスワードが不正です"; + } + if (password.length() < 8) { + return "メールアドレスもしくはパスワードが不正です"; + } + // サービスクラスのメソッド実行 + Q1Entity entityresult = service.handleUserData(mailaddress, password); + // サービスの戻り値をロジックに渡し、その戻り値をViewに返却 + String result = logic.generateMessage(entityresult); + return result; + + } +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/domain/Q1Entity.java b/02-SpringFramework/src/main/java/com/example/demo/domain/Q1Entity.java new file mode 100644 index 0000000..927f050 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/domain/Q1Entity.java @@ -0,0 +1,27 @@ +package com.example.demo.domain; + +public class Q1Entity { + private String mailAddress; + private String password; + + public Q1Entity(String mailaddress, String password) { + this.mailAddress = mailaddress; + this.password = password; + } + + public String getMailAddress() { + return mailAddress; + } + + public void setMailAddress(String mailAddress) { + this.mailAddress = mailAddress; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/logic/Q1Logic.java b/02-SpringFramework/src/main/java/com/example/demo/logic/Q1Logic.java new file mode 100644 index 0000000..e9b4de9 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/logic/Q1Logic.java @@ -0,0 +1,15 @@ +package com.example.demo.logic; + +import org.springframework.stereotype.Component; + +import com.example.demo.domain.Q1Entity; + +@Component +public class Q1Logic { + // 引数を受け取り、指定の形式で文字列を作成して返却 + public String generateMessage(Q1Entity entity) { + // 変更方式 + String result = "メールアドレス:" + entity.getMailAddress() + "パスワード:" + entity.getPassword(); + return result; + } +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/persistence/Q1Dao.java b/02-SpringFramework/src/main/java/com/example/demo/persistence/Q1Dao.java new file mode 100644 index 0000000..173509f --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/persistence/Q1Dao.java @@ -0,0 +1,18 @@ +package com.example.demo.persistence; + +import org.springframework.stereotype.Repository; + +import com.example.demo.domain.Q1Entity; + +@Repository +public class Q1Dao { + + // 引数を受け取り、Entityに格納して返却するメソッド + public Q1Entity createEntity(String mailaddress, String password) { + // インスタンスに格納 + Q1Entity entity = new Q1Entity(mailaddress, password); + // サービスクラスに返却 + return entity; + + } +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/presentation/Q1View.java b/02-SpringFramework/src/main/java/com/example/demo/presentation/Q1View.java new file mode 100644 index 0000000..8c81307 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/presentation/Q1View.java @@ -0,0 +1,29 @@ +package com.example.demo.presentation; + +import java.util.Scanner; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.example.demo.application.Q1Controller; + +@Component +public class Q1View { + @Autowired + Q1Controller cont; + + public void view() { + Scanner scanner = new Scanner(System.in); + System.out.println("メールアドレスを入力してください"); + String mailaddress = scanner.nextLine(); + + System.out.println("パスワードを入力してください"); + String password = scanner.nextLine(); + + // コントローラークラスに引数を渡して実行 + String result = cont.show(mailaddress, password); + // コントローラークラスからの戻り値を出力 + System.out.println(result); + scanner.close(); + } +} diff --git a/02-SpringFramework/src/main/java/com/example/demo/service/Q1Service.java b/02-SpringFramework/src/main/java/com/example/demo/service/Q1Service.java new file mode 100644 index 0000000..edef8a7 --- /dev/null +++ b/02-SpringFramework/src/main/java/com/example/demo/service/Q1Service.java @@ -0,0 +1,20 @@ +package com.example.demo.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.example.demo.domain.Q1Entity; +import com.example.demo.persistence.Q1Dao; + +@Service +public class Q1Service { + @Autowired + Q1Dao dao; + // 引数を受け取り、DAOを実行して戻り値をコントローラーに返却 + public Q1Entity handleUserData(String mailaddress, String password) { + // DAOクラスのメソッドに引数を渡して実行 + Q1Entity entity = dao.createEntity(mailaddress, password); + // コントローラーに返却 + return entity; + } +}