Реших го. Така че по подразбиране всички пакети, които попадат под @SpringBootApplication
декларацията ще бъде сканирана.
Ако приемем, че моят основен клас ExampleApplication
който има @SpringBootApplication
декларацията се декларира вътре в com.example.something
, след това всички компоненти, които попадат под com.example.something
се сканира, докато com.example.applicant
няма да бъдат сканирани.
И така, има два начина да го направите въз основа на този въпрос. Използвайте
@SpringBootApplication(scanBasePackages={
"com.example.something", "com.example.application"})
По този начин приложението ще сканира всички посочени компоненти, но мисля, че ако мащабът ставаше все по-голям?
Затова използвам втория подход, като преструктурирах пакетите си и той работи! Сега структурата на пакетите ми стана такава.
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