Rumah > Java > Bagaimana untuk mencari tempat Spring @Bean disuntik

Bagaimana untuk mencari tempat Spring @Bean disuntik

PHPz
Lepaskan: 2024-02-09 08:30:20
ke hadapan
842 orang telah melayarinya

Editor PHP Apple akan memperkenalkan kepada anda cara mencari lokasi suntikan Spring @Bean. Semasa proses pembangunan, kita selalunya perlu menggunakan suntikan pergantungan untuk mengurus penciptaan dan pemasangan objek. Rangka kerja Spring menyediakan anotasi @Bean untuk mengenal pasti bahawa objek yang dikembalikan oleh kaedah perlu diuruskan oleh bekas Spring. Tetapi kadangkala kita mungkin menghadapi situasi di mana kita perlu mencari lokasi suntikan tertentu Pada masa ini, kita perlu menggunakan beberapa teknik untuk mencari lokasi suntikan @Bean. Seterusnya, kami akan berkongsi beberapa kaedah untuk membantu anda mencari lokasi suntikan Spring @Bean dengan mudah.

Kandungan soalan

Saya sedang mengkonfigurasi kacang Spring, sebagai contoh:

@豆子 myService(): = MyService()

Adakah boleh tahu di mana kacang ini akan disuntik?

Saya cuba menggunakan BeanFactoryPostProcessor tetapi tidak ada kemungkinan sedemikian.

Satu-satunya penyelesaian yang terlintas di fikiran saya ialah mengulangi semua kacang dan menyemak parameter pembina melalui refleksi. Tetapi jika tidak terdapat berbilang kacang daripada jenis yang sama, nama parameter mungkin berbeza daripada nama kacang.

Penyelesaian

Anda boleh menggunakan antara muka pengesanan pergantungan

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(TestApplication.class, args);
        for (String bean: run.getBeanFactory().getDependentBeans("myService")) {
            System.out.println(bean);//the bean injected myService
        }
    }

}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mencari tempat Spring @Bean disuntik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.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