Rumah > Java > javaTutorial > teks badan

Mengapa Aplikasi Spring Saya Tidak Dapat Menemui Kacang Perkhidmatan Pengguna Saya?

DDD
Lepaskan: 2024-11-02 09:33:31
asal
547 orang telah melayarinya

Why Can't My Spring Application Find My UserService Bean?

Mengatasi Isu: 'Bidang Memerlukan Jenis Kacang Yang Tidak Dapat Ditemui'

Mesej ralat, "Field userService in main. java.rest.UsersController memerlukan kacang jenis 'main.java.service.UserService' yang tidak dapat ditemui," menunjukkan bahawa aplikasi Spring tidak dapat mencari kacang berdaftar jenis 'main.java.service.UserService'.

Punca:

Isu ini timbul apabila bekas Spring tidak dapat mengesan definisi kacang untuk jenis yang ditentukan. Beans biasanya ditakrifkan menggunakan anotasi seperti @Service, tetapi apabila menggunakan MongoDB dengan Spring, anda biasanya memanjangkan antara muka repositori daripada MongoRepository.

Penyelesaian:

Terdapat dua kemungkinan penyelesaian untuk menyelesaikan isu ini:

Penyelesaian 1: Penstrukturan Semula Struktur Projek

Pindahkan kelas UserService ke dalam pakej yang diimbas oleh bekas Spring. Secara lalai, Spring mengimbas semua pakej di bawah pakej asas di mana anotasi @SpringBootApplication diisytiharkan. Jika kelas utama anda berada dalam com.example.something, alihkan UserService ke com.example.something.service.

Penyelesaian 2: Menggunakan @ComponentScan

Tambah yang berikut baris ke kelas utama anda di mana anotasi @SpringBootApplication diisytiharkan:

<code class="java">@SpringBootApplication(scanBasePackages = {
    "com.example.something", // Your default scanned package
    "main.java.service"      // The package containing the UserService class
})</code>
Salin selepas log masuk

Ini secara eksplisit akan memasukkan pakej "main.java.service" dalam proses pengimbasan kacang.

Atas ialah kandungan terperinci Mengapa Aplikasi Spring Saya Tidak Dapat Menemui Kacang Perkhidmatan Pengguna Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!