質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Spring MVC

Spring MVCとは、Javaを用いてWebアプリケーションを開発できるフレームワーク。アーキテクチャにMVCを採用しており、画面遷移と入出力パラメータの受け渡しの基本的な機能の他、ユーザーの送信したパラメータに対する入力チェックなどさまざまな機能を持ちます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

268閲覧

Java Spring Framework 何度も再起動がかかる

gomappi

総合スコア7

Spring MVC

Spring MVCとは、Javaを用いてWebアプリケーションを開発できるフレームワーク。アーキテクチャにMVCを採用しており、画面遷移と入出力パラメータの受け渡しの基本的な機能の他、ユーザーの送信したパラメータに対する入力チェックなどさまざまな機能を持ちます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2024/03/03 10:09

実現したいこと

Spring Frameworkを使用したWebアプリを作成しています。
アプリケーションの起動時に勝手に何回も起動してしまいます。
そのため1回起動したら再起動しないようにコードを修正したいです。

発生している問題・分からないこと

実現したいことと同じ

エラーメッセージ

error

1Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]

該当のソースコード

pom.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>3.2.1</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.example</groupId> 12 <artifactId>CreateMemoApp</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>CreateMemoApp</name> 15 <description>Demo project for Spring Boot</description> 16 <properties> 17 <java.version>17</java.version> 18 </properties> 19 <dependencies> 20 <dependency> 21 <groupId>org.springframework.boot</groupId> 22 <artifactId>spring-boot-starter-security</artifactId> 23 </dependency> 24 <dependency> 25 <groupId>org.springframework.boot</groupId> 26 <artifactId>spring-boot-starter-thymeleaf</artifactId> 27 </dependency> 28 <dependency> 29 <groupId>org.springframework.boot</groupId> 30 <artifactId>spring-boot-starter-validation</artifactId> 31 </dependency> 32 <dependency> 33 <groupId>org.springframework.boot</groupId> 34 <artifactId>spring-boot-starter-web</artifactId> 35 </dependency> 36 <dependency> 37 <groupId>org.thymeleaf.extras</groupId> 38 <artifactId>thymeleaf-extras-springsecurity6</artifactId> 39 </dependency> 40 41 <dependency> 42 <groupId>org.springframework.boot</groupId> 43 <artifactId>spring-boot-devtools</artifactId> 44 <scope>runtime</scope> 45 <optional>true</optional> 46 </dependency> 47 <dependency> 48 <groupId>org.projectlombok</groupId> 49 <artifactId>lombok</artifactId> 50 <optional>true</optional> 51 </dependency> 52 <dependency> 53 <groupId>org.springframework.boot</groupId> 54 <artifactId>spring-boot-starter-test</artifactId> 55 <scope>test</scope> 56 </dependency> 57 <dependency> 58 <groupId>org.springframework.security</groupId> 59 <artifactId>spring-security-test</artifactId> 60 <scope>test</scope> 61 </dependency> 62 <dependency> 63 <groupId>org.springframework.boot</groupId> 64 <artifactId>spring-boot-starter-data-jpa</artifactId> 65 </dependency> 66 <dependency> 67 <groupId>com.h2database</groupId> 68 <artifactId>h2</artifactId> 69 <scope>runtime</scope> 70 </dependency> 71 </dependencies> 72 73 <build> 74 <plugins> 75 <plugin> 76 <groupId>org.springframework.boot</groupId> 77 <artifactId>spring-boot-maven-plugin</artifactId> 78 <configuration> 79 <excludes> 80 <exclude> 81 <groupId>org.projectlombok</groupId> 82 <artifactId>lombok</artifactId> 83 </exclude> 84 </excludes> 85 </configuration> 86 </plugin> 87 </plugins> 88 </build> 89 90</project> 91

DataLoader.java

1package com.example.demo.config; 2 3import org.springframework.boot.ApplicationArguments; 4import org.springframework.boot.ApplicationRunner; 5import org.springframework.security.crypto.password.PasswordEncoder; 6import org.springframework.stereotype.Component; 7 8import com.example.demo.model.Account; 9import com.example.demo.repository.UserRepository; 10 11import lombok.RequiredArgsConstructor; 12 13@RequiredArgsConstructor 14@Component 15public class DataLoader implements ApplicationRunner{ 16 17 private final PasswordEncoder passwordEncoder; 18 private final UserRepository userRepository; 19 20 @Override 21 public void run(ApplicationArguments args) throws Exception { 22 //adminユーザを作成 23 var user = new Account(); 24 25 user.setUsername("admin"); 26 user.setPassword(passwordEncoder.encode("Password1")); 27 user.setEmail("test@test"); 28 29 30 userRepository.save(user); 31 } 32 33} 34

MemoAppController.java

1package com.example.demo.controller; 2 3import org.springframework.security.core.Authentication; 4import org.springframework.security.crypto.password.PasswordEncoder; 5import org.springframework.stereotype.Controller; 6import org.springframework.ui.Model; 7import org.springframework.validation.BindingResult; 8import org.springframework.validation.annotation.Validated; 9import org.springframework.web.bind.annotation.GetMapping; 10import org.springframework.web.bind.annotation.ModelAttribute; 11import org.springframework.web.bind.annotation.PostMapping; 12 13import com.example.demo.model.Account; 14import com.example.demo.repository.UserRepository; 15 16import lombok.RequiredArgsConstructor; 17 18@RequiredArgsConstructor 19@Controller 20public class MemoAppController { 21 22 private final UserRepository userRepository; 23 private final PasswordEncoder passwordEncoder; 24 25 @GetMapping("/") 26 public String showList(Authentication loginUser, Model model) { 27 model.addAttribute("username", loginUser.getName()); 28 model.addAttribute("authority", loginUser.getAuthorities()); 29 return "memo"; 30 } 31 32 @GetMapping("/registerUser") 33 public String registerUser(@ModelAttribute("user") Account user) { 34 return "registerUser"; 35 } 36 37 @PostMapping("/registerUser") 38 public String process(@Validated @ModelAttribute("user") Account user, 39 BindingResult result,Model model) { 40 41 if(result.hasErrors()) { 42 return "registerUser"; 43 } 44 //パスワードをエンコードし、ユーザを登録 45 user.setPassword(passwordEncoder.encode(user.getPassword())); 46 userRepository.save(user); 47 48 model.addAttribute("username", user.getUsername()); 49 50 return "redirect:/memo"; 51 } 52 53 @GetMapping("/editUser") 54 public String editUser() { 55 return "editUser"; 56 } 57 58 @GetMapping("/login") 59 public String login() { 60 return "login"; 61 } 62 63 @GetMapping("/top") 64 public String top() { 65 return "top"; 66 } 67 68 @GetMapping("/editMemo") 69 public String editMemo() { 70 return "editMemo"; 71 } 72 73} 74

Account.java

application.properties

1spring.datasource.url=jdbc:h2:mem:memoappdb;DB_CLOSE_ON_EXIT=FALSE 2spring.jpa.hibernate.ddl-auto=update 3spring.jpa.show-sql=true 4spring.datasource.username=sa 5spring.datasource.password= 6spring.datasource.driver-class-name=org.h2.Driver

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

再起動については以下のリンクも確認しましたが解決方法がどのファイルを変更すればよいか分からず解決できませんでした。
SpringBootアプリケーションが常に再起動し続ける(再起動ループ)

エラーコードについても、application.propertiesに追記しても再起動されました。。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2024/03/05 01:10

DBが立ち上がっていないとかはないですか? アプリケーションからではなくコマンドで直に接続・実行できるか確認してみてください。
gomappi

2024/03/05 13:59

こちらの問題ですが、自己解決しましたので解決内容を投稿しました。 ご回答いただきありがとうございました。またよろしくお願いいたします。
guest

回答1

0

自己解決

プロジェクトのクリーンを行ったら再起動しなくなりました。

イメージ説明

投稿2024/03/05 13:57

gomappi

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問