dua penyelesaian yang dikonfigurasikan oleh Spring Boot
Spring Boot menyedari bahawa projek yang berbeza mempunyai keperluan konfigurasi yang berbeza, jadi dua kaedah disediakan:
Konfigurasi manual () - - untuk item yang perlu ditapis.
@SpringBootConfiguration
Konfigurasi automatik () - untuk item yang mendapat manfaat daripada dipersetujui oleh lebih banyak konfigurasi yang dipersetujui (iaitu, kurang tetapan manual). -
@EnableAutoConfiguration
Pilih bergantung kepada keperluan khusus projek.
bilakah ia akan digunakan?
Gunakan adegan |
kaedah |
Punca |
Perlu mengawal sepenuhnya kacang dan konfigurasi |
> |
secara manual menentukan semua kandungan (sama seperti dalam projek musim bunga klasik). |
Konfigurasi automatik Nepring Boot Komponen yang biasa digunakan |
> |
Jimat masa dengan mengkonfigurasi kacang secara automatik berdasarkan kebergantungan. |
anda perlu menggunakan dua kaedah pada masa yang sama |
Kedua -dua kaedah digunakan |
Konfigurasi automatik telah diaktifkan, tetapi konfigurasi manual akan meliputi nilai lalai. |
Perlu menggunakan aplikasi boot spring konfigurasi spesifik |
> |
boleh digunakan untuk menggunakan konfigurasi ujian tersuai untuk ujian unit. |
perlu melumpuhkan atau menyesuaikan konfigurasi automatik |
@enclude = {datasourceautoconfiguration.class}) |
Lumpuhkan konfigurasi automatik tertentu seperti yang diperlukan. |
adegan praktikal
1 konfigurasi manual penuh (musim bunga tradisional)
Jika projek anda perlu dikawal sepenuhnya (contohnya, penghijrahan sistem atau sistem yang sangat disesuaikan):
<code class="language-java">@SpringBootConfiguration
public class MyAppConfig {
@Bean
public DataSource dataSource() {
return new HikariDataSource(); // 手动配置数据库
}
}</code>
Tiada konfigurasi automatik - : anda mesti menentukan secara manual semua kacang.
Ia sangat berguna apabila anda ingin mengelakkan tingkah laku tersembunyi.
-
2 konfigurasi sepenuhnya automatik (lalai boot spring)
Jika anda ingin mengendalikan segala -galanya di Spring Boot, sila gunakan:
<code class="language-java">@SpringBootApplication // 包含 @EnableAutoConfiguration
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}</code>
Pangkalan data konfigurasi automatik, pelayan web, keselamatan, dll.
- Sangat sesuai untuk pembangunan cepat dan microservices.
3 3 Kaedah Mixed (Konfigurasi Manual Automatik) -
Jika anda perlu mengkonfigurasi konfigurasi automatik, tetapi jika anda ingin menutup beberapa bahagian, sila lakukan operasi berikut:
MANUAL BEAN () lebih suka dikonfigurasi secara automatik.
<code class="language-java">@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
@Configuration
class ManualConfig {
@Bean
public DataSource dataSource() {
return new HikariDataSource(); // 覆盖默认自动配置的 DataSource
}
}</code>
Kebanyakan konfigurasi automatik sangat baik, tetapi apabila anda perlu menyesuaikan bahagian utama, ia sangat berguna.
-
Ringkasan
dataSource
Ya, Spring Boot menyediakan dua penyelesaian untuk menyelesaikan masalah konfigurasi.
untuk pembangunan pesat - , gunakan
.
untuk mengawal sepenuhnya
, gunakan .
Untuk kaedah seimbang - , biarkan konfigurasi automatik proses kebanyakan perkara, tetapi tutupnya jika perlu. ?
Atas ialah kandungan terperinci Spring-: Konfigurasi-dengan-dua-dari-Of-the-Box-Solutions. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan: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