解決しました。したがって、デフォルトでは、@SpringBootApplication
に該当するすべてのパッケージ 宣言がスキャンされます。
私のメインクラスがExampleApplication
であると仮定します @SpringBootApplication
があります 宣言はcom.example.something
内で宣言されます 、次にcom.example.something
に該当するすべてのコンポーネント com.example.applicant
の間にスキャンされます スキャンされません。
したがって、この質問に基づいてそれを行うには2つの方法があります。使用
@SpringBootApplication(scanBasePackages={
"com.example.something", "com.example.application"})
そうすれば、アプリケーションは指定されたすべてのコンポーネントをスキャンしますが、スケールが大きくなった場合はどうなるでしょうか。
したがって、パッケージを再構築することで2番目のアプローチを使用し、それが機能しました。これで、パッケージの構造は次のようになりました。
src/
├── main/
│ └── java/
| ├── com.example/
| | └── Application.java
| ├── com.example.model/
| | └── User.java
| ├── com.example.controller/
| | ├── IndexController.java
| | └── UsersController.java
| └── com.example.service/
| └── UserService.java
└── resources/
└── application.properties