回答編集履歴
2
質問者様の例について言及を追加
test
CHANGED
@@ -5,6 +5,18 @@
|
|
5
5
|
ベースとなるアプリケーションと「同じパッケージ」と「それ以下の階層のパッケージ」をスキャンするため、
|
6
6
|
|
7
7
|
質問者様の疑問に感じるような挙動が発生しているのだと予想します。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
質問者様のケースでは、
|
12
|
+
|
13
|
+
「demo 配下に Controller を置いた」場合、「Application と同じパッケージ」のため、コンポーネントスキャンが可能でしたが、
|
14
|
+
|
15
|
+
「app 配下に Controller を置いた」場合、「Application とは別のパッケージ」のため、コンポーネントスキャンがされていないのだと思います。
|
16
|
+
|
17
|
+
そのため、設定・実装したルーティングが取り込まれず、表示がうまくできていないものと思われます。
|
18
|
+
|
19
|
+
|
8
20
|
|
9
21
|
|
10
22
|
|
1
日本語が読みにくかったのでちょっと修正
test
CHANGED
@@ -1,12 +1,22 @@
|
|
1
|
-
SpringBoot のコンポーネントスキャンは
|
1
|
+
SpringBoot のコンポーネントスキャンは
|
2
2
|
|
3
|
+
デフォルトでは
|
4
|
+
|
5
|
+
ベースとなるアプリケーションと「同じパッケージ」と「それ以下の階層のパッケージ」をスキャンするため、
|
6
|
+
|
3
|
-
|
7
|
+
質問者様の疑問に感じるような挙動が発生しているのだと予想します。
|
4
8
|
|
5
9
|
|
6
10
|
|
11
|
+
ここでベースのアプリケーションクラスというのは
|
12
|
+
|
7
|
-
|
13
|
+
`@SpringBootApplication` のアノテーションのついたクラスのことです。
|
8
14
|
|
9
15
|
|
16
|
+
|
17
|
+
関係性を表すと、
|
18
|
+
|
19
|
+
スキャンできるクラス、できないクラスの例としては以下のようになります。
|
10
20
|
|
11
21
|
```
|
12
22
|
|
@@ -24,13 +34,15 @@
|
|
24
34
|
|
25
35
|
└ another
|
26
36
|
|
27
|
-
└ AnotherController.java (app 別のパッケージなのでスキャンできない)
|
37
|
+
└ AnotherController.java (app とは別のパッケージなのでスキャンできない)
|
28
38
|
|
29
39
|
```
|
30
40
|
|
31
41
|
|
32
42
|
|
43
|
+
デフォルトの場合、と書きましたが、設定次第で並列のパッケージも読み取ることは可能です。
|
44
|
+
|
33
|
-
並列のパッケージもスキャンしたい場合の例としては、
|
45
|
+
並列のパッケージもスキャンしたい場合の対応の例としては、
|
34
46
|
|
35
47
|
`@SpringBootApplication` の引数に `scanBasePackages={<引き込みたい親のpackage 名>}`を指定します。
|
36
48
|
|