Ana içeriğe geç

Spring Boot

Okunuşu
spring but
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/spring-boot

Kısaca

Spring Boot, otomatik yapılandırma ve gömülü web sunucusuyla Spring üzerinde production'a hazır servisleri hızla kurmayı sağlayan Java framework'üdür.

Spring Boot nedir?

Spring Framework, 2000'lerin başından beri kurumsal Java'nın temellerinden biridir; dependency injection'ı ve web, veri ve güvenlik için sunduğu çok sayıda modülle bilinir. Ağır yapılandırmasıyla da bilinirdi. İlk olarak 2014'te yayımlanan Spring Boot bunun çoğunu ortadan kaldırdı: spring-boot-starter-web gibi bir starter bağımlılığı eklersiniz, Boot da bulduklarına göre parçaları otomatik olarak yapılandırır.

Bir Spring Boot uygulaması, Tomcat gibi gömülü bir sunucuyla tek bir çalıştırılabilir JAR olarak çalışır; böylece onu ayrı bir uygulama sunucusuna dağıtmak yerine java -jar app.jar ile başlatırsınız. Controller'lar @RestController ve @GetMapping gibi anotasyonlara sahip düz sınıflardır; Spring de bağımlılıkları onlara constructor'ları üzerinden bağlar.

Çekirdeğin etrafında büyük bir ekosistem vardır: JPA ve Hibernate ile veritabanları için Spring Data, kimlik doğrulama için Spring Security, mikroservis kalıpları için Spring Cloud, sağlık kontrolleri ve metrikler için Actuator. Spring Initializr hazır bir proje üretir; Spring Boot 3 de Java 17 ya da sonrasını gerektirir ve GraalVM ile native imajlara derlemeyi destekler.

Sık yapılan bir yanlış, Spring Boot'un Spring'den farklı bir framework olduğunu düşünmektir. Spring'in üzerinde, varsayılanları seçen ve parçaları birbirine bağlayan bir katmandır; altında hâlâ Spring Framework vardır ve bir proje farklı bir şeye ihtiyaç duyduğunda her varsayılan değiştirilebilir.

Önemli noktalar

  • Spring Boot, Spring Framework üzerinde production'a hazır Java uygulamaları kurar.
  • Starter'lar ve otomatik yapılandırma elle yapılan kurulumun çoğunun yerini alır.
  • Uygulamalar Tomcat gibi gömülü bir sunucuyla tek bir JAR olarak çalışır.
  • Spring Data, Security ve Actuator; veritabanlarını, kimlik doğrulamayı ve izlemeyi kapsar.
  • Ayrı bir framework değil, Spring üzerinde bir varsayılanlar katmanıdır.

Örnek

Spring Boot'ta bir REST controller'ıjava
@SpringBootApplication
public class BookApplication {
    public static void main(String[] args) {
        SpringApplication.run(BookApplication.class, args);   // starts the embedded server
    }
}

@RestController
@RequestMapping("/books")
class BookController {
    private final BookRepository books;

    BookController(BookRepository books) {   // injected by Spring
        this.books = books;
    }

    @GetMapping("/{id}")
    ResponseEntity<Book> get(@PathVariable Long id) {
        return books.findById(id)
            .map(ResponseEntity::ok)
            .orElse(ResponseEntity.notFound().build());
    }
}

Sık sorulan sorular

Spring ile Spring Boot arasındaki fark nedir?

Spring, dependency injection'ı ve birçok modülü olan temel framework'tür. Spring Boot onun üzerinde durur ve otomatik yapılandırma, starter bağımlılıkları ve gömülü bir sunucu ekler; böylece bir Spring uygulaması çok daha az kurulum ister.

Spring Boot mikroservisler için kullanılır mı?

Çok sık. Küçük, kendi başına çalışan JAR'lar, Actuator üzerinden sağlık kontrolleri ve Spring Cloud projeleri onu Java mikroservisleri için yaygın bir seçim yapar.

Spring Boot ile Kotlin kullanabilir miyim?

Evet. Spring Boot Kotlin'i resmî olarak destekler ve Spring Initializr, Gradle ya da Maven ile Kotlin projeleri üretebilir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar