質問編集履歴

2

追記

2021/11/30 11:47

投稿

nagasaka
nagasaka

スコア0

test CHANGED
File without changes
test CHANGED
@@ -6,50 +6,38 @@
6
6
 
7
7
  現在は会員登録機能を実装している段階です。
8
8
 
9
+ DIコンテナからMapper.java のBeanを変数に注入しようとしましたら以下のエラーが
10
+
11
+ 表示されました。
12
+
13
+
14
+
15
+ Field user in com.example.demo.controller.RegisterController required a bean of type 'com.example.demo.repository_interface.UserMapper' that could not be found.
16
+
17
+
18
+
9
- MyBatis会員登録部分作成しのでDIテナから
19
+ 他の質問エラー解消の方法尋ね際に@Import アノテーショをMapperクラスに
10
-
20
+
11
- Beanを取り出そうとしたら以下様なエラーが出てしいました
21
+ 付けるよご指摘を頂きましたので試してみたところエラーは消えました
12
-
13
-
14
-
15
- 【追記】
22
+
16
-
17
- @import で該当クラスを囲んだ所別の例外が出力されてしまいました。
23
+ 別の例外が出力されてしまいました。
24
+
25
+ 半日試行錯誤しましたが解決する事は出来ませんでした。
26
+
27
+ 解決方法をご教示頂きたいです。宜しくお願い致します。
18
28
 
19
29
 
20
30
 
21
31
  ### 発生している問題・エラーメッセージ
22
32
 
23
- DIコンテナからBeanを取得する事が出来ません。
24
-
25
-
26
-
27
- 【追記】
28
-
29
- DIコンテナBean 追加する事が出来ないので、依存性の注入をする事が出来ません
33
+ DIコンテナからBeanを取得する事が出来ません。原因はUserMapper.javaDIコンテナにBeanとして格納する事が出来ていないからだと考えてい根本的な原因はUserMapper.javaとUserMapper.xmlが何かしらの原因で関連付けされていない或いは機能していないからではないかと考えています。
30
-
31
- 根本的な原因はUserMapperインターフェイスをインスタンス化する事が出来ていない
34
+
32
-
33
- のに行おうとしているからだと考えています。そこで、
35
+
34
-
35
- 実装クラスをインスタンス化する処理に書き換えたいのですが
36
-
37
- どこをどのように変えればよいのか見当がついていません。
38
-
39
- 初学者なので、そもそも考え方として正しいのかも自身がありません。
40
-
41
- どなたかご教示願えないでしょうか。
42
36
 
43
37
  ```
44
38
 
45
39
  エラーメッセージ
46
40
 
47
- Field user in com.example.demo.controller.RegisterController required a bean of type 'com.example.demo.repository_interface.UserMapper' that could not be found.
48
-
49
-
50
-
51
- 【追記】
52
-
53
41
 
54
42
 
55
43
  org.springframework.beans.factory.UnsatisfiedDependencyException:
@@ -300,7 +288,7 @@
300
288
 
301
289
  <mapper namespace="com.example.demo.repository_interface.UserMapper">
302
290
 
303
- <insert id="Register">
291
+ <insert id="Register" parameterType="User">
304
292
 
305
293
  insert into user(
306
294
 
@@ -398,24 +386,30 @@
398
386
 
399
387
 
400
388
 
389
+ ・Mybatisに必要なライブラリが欠けている可能性を疑いました。
390
+
391
+  ・pom.xml にmybatis-spring-boot-starter が存在するか確認しました。
392
+
393
+
394
+
401
- ・DIコンテナに登録されていない可能性を疑い
395
+ ・DIコンテナにMapperが登録されていない可能性を疑いました。
402
-
396
+
403
-  登録対象なるアノテーション割り当られているかを確認しました。
397
+  ・Mapper.java@Mapperついているかどうかを確認しました。
404
-
398
+
405
-  @Mapperが割り当られてたので問題ないと判断てい
399
+  Mapper.xmlのnamespace属性やID属性の情報間違っていないかを確認しました
406
-
407
-
408
-
400
+
401
+
402
+
409
- ・コンポーネントスキャンの対象になっていない可能性を疑い
403
+ ・コンポーネントスキャンの対象になっていない可能性を疑いました。
410
-
404
+
411
- Application.java @SpringBootApplication(scanBasePackages={"com.example.demo"})
405
+  ・Application.javaに@SpringBootApplication(scanBasePackages={"com.example.demo"})を追記しました。
412
-
413
- と追記しました。
406
+
414
-
415
-
416
-
407
+
408
+
417
- 変化はありませんでした。ファイル構成は以下の通りです。
409
+ ファイル構成は以下の通りです。
418
-
419
-
420
410
 
421
411
  ![![イメージ説明](7b5a1f1a8c64d4721f77cf53a94430f8.png)]
412
+
413
+
414
+
415
+ ご指導をお願い致します。

1

文法の修正

2021/11/30 11:47

投稿

nagasaka
nagasaka

スコア0

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,33 @@
12
12
 
13
13
 
14
14
 
15
+ 【追記】
16
+
17
+ @import で該当クラスを囲んだ所別の例外が出力されてしまいました。
18
+
19
+
20
+
15
21
  ### 発生している問題・エラーメッセージ
16
22
 
17
- DIコンテナからBeanを取得する事が出来ない
23
+ DIコンテナからBeanを取得する事が出来ません。
24
+
25
+
26
+
27
+ 【追記】
28
+
29
+ DIコンテナに Bean を追加する事が出来ないので、依存性の注入をする事が出来ません。
30
+
31
+ 根本的な原因はUserMapperインターフェイスをインスタンス化する事が出来ていない
32
+
33
+ のに行おうとしているからだと考えています。そこで、
34
+
35
+ 実装クラスをインスタンス化する処理に書き換えたいのですが
36
+
37
+ どこをどのように変えればよいのか見当がついていません。
38
+
39
+ 初学者なので、そもそも考え方として正しいのかも自身がありません。
40
+
41
+ どなたかご教示願えないでしょうか。
18
42
 
19
43
  ```
20
44
 
@@ -22,6 +46,54 @@
22
46
 
23
47
  Field user in com.example.demo.controller.RegisterController required a bean of type 'com.example.demo.repository_interface.UserMapper' that could not be found.
24
48
 
49
+
50
+
51
+ 【追記】
52
+
53
+
54
+
55
+ org.springframework.beans.factory.UnsatisfiedDependencyException:
56
+
57
+ Error creating bean with name 'registerController':
58
+
59
+ Unsatisfied dependency expressed through field 'user';
60
+
61
+
62
+
63
+ nested exception is
64
+
65
+ org.springframework.beans.factory.BeanCreationException:
66
+
67
+ Error creating bean with name 'com.example.demo.repository_interface.UserMapper': Instantiation of bean failed;
68
+
69
+
70
+
71
+ nested exception is
72
+
73
+ org.springframework.beans.BeanInstantiationException:
74
+
75
+ Failed to instantiate [com.example.demo.repository_interface.UserMapper]:
76
+
77
+ Specified class is an interface
78
+
79
+ 以下略
80
+
81
+
82
+
83
+ Caused by: org.springframework.beans.factory.BeanCreationException:
84
+
85
+ Error creating bean with name 'com.example.demo.repository_interface.UserMapper': Instantiation of bean failed;
86
+
87
+ nested exception is org.springframework.beans.BeanInstantiationException:
88
+
89
+ Failed to instantiate [com.example.demo.repository_interface.UserMapper]:
90
+
91
+ Specified class is an interface
92
+
93
+ 下略
94
+
95
+
96
+
25
97
  ```
26
98
 
27
99
  ### 該当のソースコード