Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Spring
Springmedium

Co to jest auto-konfiguracja Spring Boot (i czym są startery)?

Tagi
#spring-boot#auto-configuration#starter
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Boot auto-konfiguruje beany na podstawie zależności na classpath i properties (daje sensowne defaulty). Startery to paczki zależności (np. `spring-boot-starter-web`), które dobierają biblioteki i uruchamiają powiązaną auto-konfigurację.

Odpowiedź zaawansowana

Głębiej

Auto-konfiguracja Spring Boot to zestaw klas `@Configuration`, włączanych przez `@SpringBootApplication` (przez `@EnableAutoConfiguration`). Boot decyduje co skonfigurować na podstawie:

  • tego, co jest na **classpathie**,
  • Twoich **properties**,
  • oraz reguł `@Conditional...` (np. `@ConditionalOnClass`, `@ConditionalOnMissingBean`).

Startery (`spring-boot-starter-web`, `spring-boot-starter-security`, `spring-boot-starter-data-jpa` itd.) to kuratorowane zestawy zależności, które:

  • dociągają typowe biblioteki dla danej funkcji,
  • trzymają spójne wersje dzięki dependency management Boota.

Jak dostosować

  • Najpierw przez properties (stabilnie i łatwo).
  • Definiuj własne beany, aby nadpisywać domyślne (wiele auto-configów „cofa się”, gdy wykryje bean użytkownika).
  • Wyklucz auto-config, jeśli go nie chcesz:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

Typowe pułapki

  • Dodanie startera i „niespodzianki” w defaultach (często security).
  • Przypadkowe nadpisanie beana i popsucie wiring.
  • Różny classpath między środowiskami → różne zachowanie auto-konfiguracji.

Powiązane pytania

Spring
`@ConfigurationProperties` vs `@Value`: kiedy lepiej użyć `@ConfigurationProperties`?
#spring-boot#configuration#properties
Spring
Auto‑konfiguracja Spring Boot: jak działa na wysokim poziomie?
#spring-boot#auto-configuration#starters
Spring
Priorytet konfiguracji w Spring Boot: które źródła zwykle nadpisują które?
#spring-boot#configuration#profiles
Spring
Spring Boot Actuator: co to jest i czemu trzeba to zabezpieczyć?
#spring-boot#actuator#observability
Spring
Dlaczego warto użyć `@ConfigurationProperties` zamiast wielu `@Value`?
#spring-boot#configuration#properties
Spring
Co to są Spring Boot Starters?
#spring-boot#dependency#configuration