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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

603閲覧

DIコンテナのイメージを掴むためのプログラムをテキスト通りに模写したらエラーとなってしまった

albikk_penpen

総合スコア4

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2023/02/25 08:34

編集2023/02/26 10:37

実現したいこと

技術評論社 SpringFramework超入門 第3章 のテキストの模写をしたところ、
エラーで実行できなくなってしまいました。

前提

DIコンテナのイメージをつかむため、テキスト記載通りにファイルを作成しましたが、以下のエラーとなってしまっております。

発生している問題・エラーメッセージ

*************************** APPLICATION FAILED TO START *************************** Description: Field greet in com.example.demo.DependencyInjectionSampleApplication required a bean of type 'com.example.demo.chapter03.used.Greet' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type 'com.example.demo.chapter03.used.Greet' in your configuration.

該当のソースコード

Java

1package com.example.demo.chapter03.used; 2 3/** 4* 挨拶インターフェース 5*/ 6public interface Greet { 7 /** 8 * 挨拶をする 9 */ 10 void greeting(); 11}

Java

1package com.example.demo.chapter03.used; 2 3import org.springframework.stereotype.Component; 4 5/** 6* Greet実装クラス<br> 7* 朝の挨拶を行う 8*/ 9 10@Component 11public class MorningGreet implements Greet { 12 @Override 13 public void greeting() { 14 System.out.println("------------------"); 15 System.out.println("おはようございます!"); 16 System.out.println("------------------"); 17 } 18}

Java

1package com.example.demo; 2 3import org.springframework.beans.factory.annotation.Autowired; 4import org.springframework.boot.SpringApplication; 5import org.springframework.boot.autoconfigure.SpringBootApplication; 6 7import com.example.demo.chapter03.used.Greet; 8 9/** 10* SpringBoot起動クラス 11*/ 12@SpringBootApplication 13public class DependencyInjectionSampleApplication { 14 /** 15 * mainメソッド 16 * @param args 17 */ 18 public static void main(String[] args) { 19 SpringApplication.run(DependencyInjectionSampleApplication.class, args) 20 .getBean(DependencyInjectionSampleApplication.class).execute(); 21 } 22 /** 23 * 注入される箇所(インターフェース) 24 */ 25 @Autowired 26 Greet greet; 27 /** 28 実行メソッド 29 */ 30 private void execute() { 31 greet.greeting(); 32 } 33}

試したこと

・ DependencyInjectionSampleApplication.javaをpackage com.example.demo.chapter03.used;と同じパッケージ配下に移動して実行

補足

テキストとeclipseのバージョンが違い、スタータ・プロジェクトを作成するときに以下テキストと差分があったこと。
テキスト: 型 Gradle
:実際 : タイプ Gradle -Groovy

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

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

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

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

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

guest

回答1

0

自己解決

SpringBootのバージョンを、3.0.3⇒2.7.9にしたら解決いたしました。

投稿2023/02/25 09:40

albikk_penpen

総合スコア4

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

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

KT001

2023/02/26 01:37

解決済みにコメントさせて頂きますが、3.0.3が盛大にバグっているようです。大きいものだと下のようなバグですが、その他にもバグがあります。 https://github.com/spring-projects/spring-boot/issues/34379 自己解決に書いて頂いているとおり、今は2.7系を使うのがベストな選択だと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問