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

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

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

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

アノテーション

アノテーションとは、特定のコードに対して、メタデータを注釈として付与することを指します。また、付与したメタデータ自体をアノテーションと呼ぶ場合もあります。

Spring Boot

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

Q&A

0回答

4025閲覧

Consider defining a bean of type のエラーについて

Mason

総合スコア14

Java

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

アノテーション

アノテーションとは、特定のコードに対して、メタデータを注釈として付与することを指します。また、付与したメタデータ自体をアノテーションと呼ぶ場合もあります。

Spring Boot

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

0グッド

0クリップ

投稿2022/12/30 07:32

前提

「後悔しないためのSpring Boot 入門書:Spring 解体新書」という書籍でSpring Bootの学習を行なっている中で、題名のエラーが発生しました。

実現したいこと

springbootを起動できるようにし、一覧画面を表示できるようにしたいです。
このエラーは基本的にアノテーションの漏れがないかくらいしか可能性がないのかなと感じますが、どこか不自然に感じる箇所などはありますでしょうか?
よろしくお願いいたします。

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

*************************** APPLICATION FAILED TO START *************************** Description: Field mapper in com.example.domain.user.service.impl.UserServiceImpl required a bean of type 'com.example.repository.UserMapper' 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.repository.UserMapper' in your configuration.

該当のソースコード

UserMapper.java

1package com.example.repository; 2 3import org.apache.ibatis.annotations.Mapper; 4 5import com.example.domain.user.model.MUser; 6 7@Mapper 8public interface UserMapper { 9 10 //ユーザー登録 11 public int insertOne(MUser user); 12}

UserServiceImpl.java

1package com.example.domain.user.service.impl; 2 3import org.springframework.beans.factory.annotation.Autowired; 4import org.springframework.stereotype.Service; 5 6import com.example.domain.user.model.MUser; 7import com.example.domain.user.service.UserService; 8import com.example.repository.UserMapper; 9 10@Service 11public class UserServiceImpl implements UserService { 12 13 @Autowired 14 private UserMapper mapper; 15 16 //ユーザー登録 17 @Override 18 public void signup(MUser user) { 19 user.setDepartmentId(1);//部署 20 user.setRole("ROLE_GENERAL");//ロール 21 mapper.insertOne(user); 22 } 23} 24

UserService.java

1package com.example.domain.user.service; 2 3import com.example.domain.user.model.MUser; 4 5public interface UserService { 6 7 //ユーザー登録 8 public void signup(MUser user); 9 10}

JavaConfig.java

1package com.example.config; 2 3import org.modelmapper.ModelMapper; 4import org.springframework.context.annotation.Bean; 5import org.springframework.context.annotation.Configuration; 6 7@Configuration 8public class JavaConfig { 9 10 @Bean 11 public ModelMapper modelMapper() { 12 return new ModelMapper(); 13 } 14}

試したこと

@beanなどのアノテーションの書き漏れなどがないかを確認しましたが問題ありませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

KT001

2022/12/30 10:49

書籍のバージョン等は、あっていますでしょうか? (同じであれば、ソースコードをダウンロードすると、差分が分かると思います) それでも動かない場合は、昔のEclipseを使うと動くかもしれませんので、お試しください。 https://teratail.com/questions/3v5bvm3ictn139
Mason

2023/01/06 14:10

コメントありがとうございます。 とういことは、やはりソースコードには問題は無い認識でよろしいでしょうか?
KT001

2023/01/06 14:27

バージョンによっては、問題があります。 Spring Bootは2.7で結構修正が入りました。今だと、Spring Boot 3.0か2.7で作ることになると思うのですが、Spring Boot 2.7に対応していない書籍だと動かない箇所が多いと思います。
Mason

2023/01/06 15:07

書籍にあわせて Spring Boot 2.4.1 に変更して解決しました。ありがとうございます。
KT001

2023/01/07 00:34

動いて良かったです。Spring Boot 2.4.1は深刻な脆弱性があって仕事では使えないので、同書の最新版が出たら、そちらでも勉強すると良いと思います。
Mason

2023/01/07 10:21

なんと! そうなんですね!しれてよかったです。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問