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

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

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

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

Spring Boot

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

Q&A

1回答

34364閲覧

springのエラーメッセージ:org.springframework.beans.factory.UnsatisfiedDependencyExceptionの解決

sakapooon

総合スコア0

Java

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

Spring Boot

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

0グッド

0クリップ

投稿2021/09/11 05:06

編集2021/09/13 08:30

前提・実現したいこと

現在、「spring解体新書(第2版)」を参考にspringBoot2.5.4を使用してwebアプリ開発を行なっています。
手順通りに行なっていたのですがorg.springframework.beans.factory.UnsatisfiedDependencyExceptionというエラーが発生し、先に進めなくなってしまいました。いろいろ調べてみましたが解決方法がわかりません。
解決方法をご存知の方いましたら教えていただけると助かります。

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

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-09-13 17:23:26.318 ERROR 932 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'signupController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'mapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userMapper' defined in file [/Applications/Eclipse_2019-12.app/Contents/workspace/SpringBootSample/target/classes/com/example/demo/repository/UserMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [/Applications/Eclipse_2019-12.app/Contents/workspace/SpringBootSample/target/classes/mapper/h2/UserMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 21; 疑似属性名が必要です。

該当のソースコード

Applicationproperties

1#DataSource 2 3spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE 4spring.datasource.username=sa 5spring.datasource.password= 6spring.datasource.driver-class-name=org.h2.Driver 7spring.sql.init.schema-locations=classpath:schema.sql 8spring.sql.init.data-locations=classpath:data.sql 9spring.sql.init.encoding=utf-8 10 11spring.h2.console.enabled=true 12 13#messgae 14spring.messages.basename=i18n/messages,i18n/ValidationMessages 15 16#MyBatis 17mybatis.mapper-locations=classpath*:/mapper/h2/*.xml 18 19#Log Level 20logging.level.com.example=debug
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>SpringBootSample</artifactId> <version>0.0.1-SNAPSHOT</version> <name>SpringBootSample</name> <description>Demo project for Spring Boot</description> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--jquery--> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.5.1</version> </dependency> <!-- bootstrap --> <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>4.5.3</version> </dependency> <!-- webjars-locator --> <dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator</artifactId> <version>0.40</version> </dependency> <!-- thymeleaf-layout-dialect --> <dependency> <groupId>nz.net.ultraq.thymeleaf</groupId> <artifactId>thymeleaf-layout-dialect</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>org.modelmapper.extensions</groupId> <artifactId>modelmapper-spring</artifactId> <version>2.3.9</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
Mapper.xml <?xml version="1.0" encording="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- マッピング --> <mapper namespace="com.example.demo.repository.UserMapper"> <!-- ユーザー1件登録 --> <insert id="insertOne"> insert into m_user( user_id ,password ,user_name ,birthday ,age ,gender ,department_id ,role ) VALUES( #{userId} ,#{password} ,#{userName} ,#{birthday} ,#{age} ,#{gender} ,#{department} ,#{role} ) </insert> </mapper>

イメージ説明
イメージ説明
イメージ説明

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

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

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

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

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

kiino

2021/09/11 06:05

signupController 事態のソースコードと、signupController を使っているクラスのソースコードがどうなっているか知りたいです。 質問文に追記してもらうことは可能でしょうか
m.ts10806

2021/09/11 06:10

クラス名冒頭小文字を大文字にしてもだめでしょうか。 あとBootって最新まだ2.5.4では?
sakapooon

2021/09/11 06:55

signupControllerとそれを使っているソースコードを添付いたしました。 クラス名冒頭全て大文字にしましたがダメでした。 バージョンは2.5.4でした。申し訳ございません
shiketa

2021/09/13 07:23

発生している問題・エラーメッセージ > field 'mapper'; nested exception is org.springfr![イメージ説明](7fa79ca 途中で切れてます。肝心なことは最後のほうに書いてある、かもしれません。また、イメージを張り付けられても醜いだけなので、テキストを希望しておきます。
sakapooon

2021/09/13 08:34

申し訳ありませんが、文字数の関係上、エラーを全文記載できません(できる限り記載しました)。 見にくいとは思いますがよろしくお願いします。
shiketa

2021/09/13 08:46 編集

尻のほうで、UserMapper.xmがどうしたこうした、出ていますね。このファイルを目を皿のようにして「spring解体新書(第2版)」と突き合せれば、解決するかもしれませんね。わたしにはこれ以上はなんとも。 ... 'file [/Applications/Eclipse_2019-12.app/Contents/workspace/SpringBootSample/target/classes/mapper/h2/UserMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 21; 疑似属性名が必要です。
guest

回答1

0

回答がおそくなっていてすいません。
xml(mapper.xml) の書式誤りですね

1行目の encodingencording になっている(r が多い)
誤)<?xml version="1.0" encording="UTF-8"?>
正)<?xml version="1.0" encoding="UTF-8" ?>

投稿2021/09/13 15:52

kiino

総合スコア545

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

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

kiino

2021/09/13 15:53

問題の特定方法(切り分け方)の話なのですが、 `org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name <some>` というエラーの場合、 <some> の変数をSpringBootが作るときに失敗したり見つからなかったりした場合のエラーと推測できます。 なので、その変数の定義元になるはずのクラスや、 そのクラスが依存しているクラスの定義自体や Bean 登録の設定が正しいかを確認するのがよいのかなと思っています。 今回だと `signupController` や依存している `UserApplicationService`、`UserMapper` の定義やアノテーション設定が正しいかを確認することになるのかなと思いました (ただ、この問題は MyBatis の xml の問題で、UserMapper と結びつかなかったというのが原因ぽいのですが。書式ミスにすぐに気づかずに申し訳ございません)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.44%

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

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

質問する

関連した質問