Memecahkannya. Jadi secara default, semua paket yang berada di bawah @SpringBootApplication
deklarasi akan dipindai.
Dengan asumsi ExampleApplication
kelas utama saya yang memiliki @SpringBootApplication
deklarasi dideklarasikan di dalam com.example.something
, lalu semua komponen yang berada di bawah com.example.something
dipindai saat com.example.applicant
tidak akan dipindai.
Jadi, ada dua cara untuk melakukannya berdasarkan pertanyaan ini. Gunakan
@SpringBootApplication(scanBasePackages={
"com.example.something", "com.example.application"})
Dengan begitu, aplikasi akan memindai semua komponen yang ditentukan, tetapi menurut saya bagaimana jika skalanya semakin besar?
Jadi saya menggunakan pendekatan kedua, dengan merestrukturisasi paket saya dan berhasil! Sekarang struktur paket saya menjadi seperti ini.
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