Konfigurasi Otomatis dan Starter Spring Boot
Pahami cara Spring Boot mengonfigurasi bean secara otomatis berdasarkan dependensi classpath dan anotasi kondisi.
Konfigurasi Otomatis dan Starter Spring Boot adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Apa Itu Konfigurasi Otomatis Spring Boot?
Konfigurasi otomatis mengonfigurasi bean Spring secara otomatis berdasarkan hal-hal yang tersedia di classpath dan lingkungan. Fitur ini menghilangkan penyiapan manual @Bean untuk integrasi umum.
Anotasi @SpringBootApplication
@SpringBootApplication merupakan gabungan dari @Configuration, @EnableAutoConfiguration, dan @ComponentScan. Anotasi ini mengaktifkan konfigurasi otomatis dan pemindaian komponen.
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}Cara Kerja Konfigurasi Otomatis
Spring Boot memindai META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (Spring Boot 3) untuk memperoleh daftar kelas konfigurasi otomatis. Setiap kelas diterapkan secara bersyarat.
// Spring Boot 3 imports file:
// org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
// org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration@ConditionalOnClass dan @ConditionalOnMissingBean
Kelas konfigurasi otomatis menggunakan anotasi @Conditional agar hanya diterapkan ketika kondisi tertentu terpenuhi — misalnya, suatu kelas berada di classpath atau bean belum didefinisikan.
@AutoConfiguration
@ConditionalOnClass(DataSource.class)
@ConditionalOnMissingBean(DataSource.class)
public class DataSourceAutoConfiguration {
@Bean
public DataSource dataSource(DataSourceProperties props) {
return DataSourceBuilder.create().build();
}
}Starter Spring Boot
Starter adalah sekumpulan deskriptor dependensi yang telah dipilih. Menambahkan spring-boot-starter-web ke proyek Anda akan menyertakan Spring MVC, Tomcat, Jackson, dan konfigurasi otomatisnya — tanpa perlu mencari dependensi secara manual.
// build.gradle:
dependencies {
implementation "org.springframework.boot:spring-boot-starter-web"
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
implementation "org.springframework.boot:spring-boot-starter-validation"
}Starter Umum
Starter utama: starter-web (REST + Tomcat), starter-data-jpa (JPA + Hibernate), starter-security, starter-test (JUnit + Mockito), starter-actuator (kesehatan/metrik).
Mengganti Konfigurasi Otomatis
Definisikan @Bean Anda sendiri dengan tipe yang sama agar didahulukan daripada bean yang dikonfigurasi otomatis. @ConditionalOnMissingBean memastikan bean yang dikonfigurasi otomatis hanya dibuat jika bean Anda tidak ada.
// Override auto-configured ObjectMapper:
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper()
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.registerModule(new JavaTimeModule());
}
}Mengecualikan Konfigurasi Otomatis
Kecualikan kelas konfigurasi otomatis tertentu yang tidak Anda inginkan — berguna ketika sebuah starter menyertakan sesuatu yang ingin Anda konfigurasi secara manual.
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
SecurityAutoConfiguration.class
})
public class MyApp { ... }Membuat Starter Sendiri
Buat modul starter dengan kelas konfigurasi otomatis, lalu daftarkan di META-INF/spring/....AutoConfiguration.imports. Proyek lain yang menyertakan starter Anda akan memperoleh bean Anda secara otomatis.
// my-starter/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
// com.example.MyLibraryAutoConfigurationMenelusuri Masalah Konfigurasi Otomatis
Jalankan dengan opsi --debug atau tetapkan logging.level.org.springframework.boot.autoconfigure=DEBUG untuk melihat "CONDITIONS EVALUATION REPORT" yang mencantumkan konfigurasi otomatis mana yang diterapkan atau dikecualikan, beserta alasannya.
java -jar myapp.jar --debug
# Or in application.properties:
# logging.level.org.springframework.boot.autoconfigure=DEBUGEndpoint /conditions Actuator
Aktifkan spring-boot-starter-actuator dan tampilkan endpoint /actuator/conditions untuk melihat laporan evaluasi konfigurasi otomatis saat runtime tanpa memulai ulang aplikasi.
# application.properties:
management.endpoints.web.exposure.include=conditions
# Then:
curl http://localhost:8080/actuator/conditionsPemeriksaan Singkat
Anotasi apa yang menyebabkan sebuah bean dibuat hanya jika belum ada bean dengan tipe tersebut?
Ringkasan
Konfigurasi otomatis menggunakan anotasi bersyarat untuk menghubungkan bean berdasarkan classpath dan bean yang sudah ada. Starter menggabungkan dependensi dan konfigurasi otomatis. Ganti dengan bean Anda sendiri. Kecualikan konfigurasi yang tidak diinginkan. Lakukan penelusuran dengan --debug.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Konfigurasi Otomatis dan Starter Spring Boot” gratis?
Ya — teks lengkap “Konfigurasi Otomatis dan Starter Spring Boot” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Konfigurasi Otomatis dan Starter Spring Boot”?
Pahami cara Spring Boot mengonfigurasi bean secara otomatis berdasarkan dependensi classpath dan anotasi kondisi. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Konfigurasi Otomatis dan Starter Spring Boot” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Konfigurasi Otomatis dan Starter Spring Boot
- Properti Aplikasi dan Profil
- Penyambungan Bean: @Component, @Service, @Repository
- Injeksi Konstruktor dan Dependensi Sirkular