質問編集履歴
2
追記
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
|
-
|
19
|
+
他の質問でエラー解消の方法を尋ねた際に、@Import アノテーションをMapperクラスに
|
10
|
-
|
20
|
+
|
11
|
-
|
21
|
+
付けるようにとご指摘を頂きましたので試してみたところエラーは消えましたが
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
22
|
+
|
16
|
-
|
17
|
-
|
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コンテナ
|
33
|
+
DIコンテナからBeanを取得する事が出来ません。原因はUserMapper.javaをDIコンテナにBeanとして格納する事が出来ていないからだと考えています。根本的な原因はUserMapper.javaとUserMapper.xmlが何かしらの原因で関連付けされていない或いは機能していないからではないかと考えています。
|
30
|
-
|
31
|
-
|
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
|
-
|
399
|
+
・Mapper.xmlのnamespace属性やID属性の情報が間違っていないかを確認しました。
|
406
|
-
|
407
|
-
|
408
|
-
|
400
|
+
|
401
|
+
|
402
|
+
|
409
|
-
・コンポーネントスキャンの対象になっていない可能性を疑い
|
403
|
+
・コンポーネントスキャンの対象になっていない可能性を疑いました。
|
410
|
-
|
404
|
+
|
411
|
-
Application.java
|
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
文法の修正
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
|
### 該当のソースコード
|