Rumah > Java > javaTutorial > teks badan

Bagaimana untuk menyelesaikan masalah pemeta kosong secara automatik disuntik ke dalam projek springBoot idea

WBOY
Lepaskan: 2023-05-17 18:49:18
ke hadapan
1808 orang telah melayarinya

Dalam projek SpringBoot, jika MyBatis digunakan sebagai rangka kerja lapisan kegigihan, anda mungkin menghadapi masalah pemeta yang melaporkan pengecualian penuding nol apabila menggunakan suntikan automatik. Ini kerana SpringBoot tidak dapat mengenal pasti antara muka Mapper MyBatis dengan betul semasa suntikan automatik dan memerlukan beberapa konfigurasi tambahan.
Terdapat dua cara untuk menyelesaikan masalah ini:

1 Tambahkan anotasi pada antara muka Mapper
Tambahkan anotasi @Mapper pada antara muka Mapper untuk memberitahu SpringBoot bahawa antara muka ini ialah antara muka Mapper dan memerlukan. untuk diproksi. Contohnya adalah seperti berikut:

@Mapper
public interface UserMapper {
    // ...
}
Salin selepas log masuk

2 Konfigurasikan laluan imbasan Mapper secara manual
Konfigurasikan laluan imbasan Mapper secara manual dalam application.properties atau application.yml untuk memberitahu SpringBoot mengimbas antara muka Mapper di bawah pakej mana. Contohnya adalah seperti berikut:
Dikonfigurasikan dalam application.properties:

mybatis.mapper-locations=classpath:mapper/*.xml
Salin selepas log masuk

Dikonfigurasikan dalam application.yml:

mybatis:
  mapper-locations: classpath:mapper/*.xml
Salin selepas log masuk

Perlu diingatkan bahawa mapper/*.xml di sini merujuk kepada Mapper antara muka Laluan di mana fail XML yang sepadan disimpan Jika anda menggunakan anotasi untuk mengkonfigurasi pernyataan SQL, anda tidak perlu mengkonfigurasi laluan fail XML.
Selepas mengkonfigurasi dalam dua cara di atas, anda boleh menyuntik antara muka Mapper dengan betul apabila menggunakan suntikan automatik.

Akhir sekali, jika anda telah melakukan semua perkara di atas dan masih mendapat hasil kosong, semak sama ada anda secara tidak sengaja tidak menyuntik pemeta dalam lapisan pengawal, contohnya

Bagaimana untuk menyelesaikan masalah pemeta kosong secara automatik disuntik ke dalam projek springBoot idea

Jika ia adalah objek baharu, objek yang disuntik yang dirujuk bukanlah objek yang disuntik secara automatik ke dalam bekas spring, jadi ia akan dilaporkan sebagai kosong Anda perlu melakukan satu set persembahan penuh Suntikan @Autowird dalam lapisan pengawal juga

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pemeta kosong secara automatik disuntik ke dalam projek springBoot idea. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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