Spring vs Spring Boot: Spring ve Spring Boot Arasındaki Fark

Yayınlanan: 2021-01-13

Spring Framework'ün bir uzantısı olarak Spring Boot, Spring üzerinde geliştirmeyi daha hızlı, daha verimli ve kullanışlı hale getirmek için yaygın olarak kullanılmaktadır. Bu yazıda, Spring Boot'u kullanan bazı parametrelere bakacağız, uygulama geliştirmede gereken zaman ve çabayı önemli ölçüde azaltabilir.

İçindekiler

Bahar nedir?

Basitçe açıklamak gerekirse, Spring, Java tabanlı uygulamalar geliştirmek için her şey dahil altyapı desteği sağlayan popüler bir entegre çerçevedir. Açık kaynak platformu hafiftir, gevşek bağlantılıdır ve Dependency Injection ile En Boy Odaklı Programlamayı içeren bazı önemli özelliklerle birlikte gelir.

Dependency Injection, gevşek bağlantının ortaya çıkarılmasından sorumluyken, En Boy Yönelimli programlama, önemli kesişen görevlerin uygulanmasına yardımcı olur.

Ayrıca, farklı görevleri gerçekleştirmeye adanmış çeşitli modüllerle birlikte gelir. Bunlardan bazıları Spring Test, Spring Security, Spring Web, Spring JDBC, Spring AOP, Spring MVC ve Spring ORM'dir.

Bu modüllerin her biri, uygulama geliştirmeyle ilgili süreyi önemli ölçüde azaltmaya yardımcı olur. Örneğin, ortak kodlar - daha önce Java tabanlı geliştirmeler, basit bir iş için belirli bir kaydı veri kaynağına eklemek için tonlarca ortak kod gerektiriyordu. Ancak şimdi JDBCTemplate kullandığımızda, aynı görev yalnızca bazı kod satırları ve bazı küçük yapılandırmalarla gerçekleştirilebilir.

bahar çizme

Spring'in üzerine inşa edilen Spring Boot, aksi takdirde bir uygulamanın kurulumunda çok önemli olan uzun ortak plaka konfigürasyonlarının ortadan kaldırılmasına izin veren modüldür.

Spring Boot, daha hızlı ve verimli uygulama geliştirme için yol açmak için Spring çerçevesinin fikir sahibi bir perspektifini dikkate alarak çalışır. Otomatik yapılandırma, en kullanışlı özelliğidir.

Sıkı ölçümler ve sağlık kontrolleri gerçekleştirir ve harici yapılandırmalarla ilgilenir. Spring'in sorunsuz çalışması için etkinleştirilen otomatik yapılandırmalar vardır. Ayrıca, uygulamaların dağıtımındaki komplikasyonları azaltmak için gömülü sunuculara sahiptir.

Ayrıca Okuyun: Yeni Başlayanlar İçin En İyi 7 Heyecan Verici Spring Boot Projesi ve Konusu

Yay ve Yaylı Önyükleme Arasındaki Fark

Bu bölümde, Spring çerçevesi ve Spring Boot arasındaki büyük farklara yakından bakacağız.

1. Çerçeve

Spring, kurumsal uygulamalar oluşturmaya uygun, açık kaynaklı ve hafiftir. Spring Boot ise, REST API'leri geliştirmek için uygun olan yay çerçevesinin bir uzantısıdır. Spring'deki uygulamalar gevşek bir şekilde birleştirilirken Spring Boot' bağımsızdır.

2. HTTP Temel Kimlik Doğrulama

Spring ve Spring Boot'un güvenlik yapılandırmalarını, yani varsayılan HTTP Temel kimlik doğrulamasını nasıl etkinleştirdiğini öğrenelim. Bu, güvenliği etkinleştirmek için birkaç bağımlılığın ve yapılandırmanın etkinleştirilmesi gerektiğini gösterir.

Spring durumunda, bir uygulamada varsayılan HTTP Temel kimlik doğrulamasını etkinleştirmek için hem standart yay-güvenlik-web hem de yay-güvenlik-yapılandırma bağımlılıkları gereklidir.

Sonraki adım, WebSecurityConfigurerAdapter'a sahip bir sınıf ekleyerek @EnableWebSecurity ek açıklamasını etkinleştirmektir:

Güvenliği etkinleştirmek için bellek içi kimlik doğrulaması kullanılmalıdır.

Spring'e çok benzer şekilde, bu bağımlılıklar Spring Boot durumunda bile dahil edilmelidir. Ancak bu, yalnızca gerisini otomatik olarak halledecek olan yay-önyükleme-başlangıç-güvenlik bağımlılığı tanımlanarak yapılabilir.

3. Minimum Bağımlılıklar

Spring, bir web uygulamasının oluşturulmasında belirli sayıda bağımlılık gerektirir. Bunlar : _

<bağımlılık>

<groupId>org.springframework</groupId>

<artifactId>bahar-web</artifactId>

<version>5.2.9.RELEASE</version>

</bağımlılık>

<bağımlılık>

<groupId>org.springframework</groupId>

<artifactId>bahar-webmvc</artifactId>

<version>5.2.9.RELEASE</version>

</bağımlılık>

Spring Boot ise yalnızca bir bağımlılıkla çalışan bir uygulama alabilir:

<bağımlılık>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<version>2.3.4.RELEASE</version>

</bağımlılık>

Oluşturma süresi sırasında varsayılan olarak son arşive eklenen birkaç bağımlılık daha vardır. Spring, kitaplıkları test ederken bile aşağıdaki kitaplıkları ekler:

  • Mockito
  • Yay Testi
  • Hamcrest ve
  • JBirimi

Spring Boot, çeşitli Spring modülleri için ayrılmış bir dizi başlangıç ​​projesine sahiptir. Her modülün ihtiyaç duyduğu gerekli kütüphanelerle donatılmıştır.

Bu nedenle, Spring'in aksine, Spring boot, test kitaplıklarında yalnızca bir başlatıcı bağımlılığı gerektirir.

4. Yay Konfigürasyonları

Bu bölümde, hem Spring hem de Spring Boot'un bir web uygulaması (JSP) oluşturmak için ihtiyaç duyduğu konfigürasyonları vurgulayacağız.

Spring durumunda, gönderici sunucu uygulamasını ve diğer bazı önemli yapılandırmaları tanımlamak için web.xml dosyasını veya Initializer sınıfını kullanırız.

Spring ayrıca @EnableWebMvc ek açıklamasının @Configuration sınıfı için erişilebilir olmasını ve denetleyicilerin döndüreceği görünümleri çözmek için bir görünüm çözümleyici bildirmeyi gerektirir.

Spring Boot durumunda, web başlatıcıyı ekledikten sonra kodun tamamı birkaç özellik ile değiştirilebilir. Önyükleme web başlatıcısı dahil edildiğinde gerekli yapılandırma otomatik olarak eklenir. Bu işlem, otomatik yapılandırma olarak bilinir:

spring.mvc.view.prefix=/WEB-INF/jsp/

yay.mvc.view.suffix=.jsp

Basit bir deyişle, Spring Boot, ilgili bağımlılıklar, konfigürasyonlar ve çekirdekler hakkında fikir sahibi bir görünüm alır ve bunların hepsini otomatik olarak etkinleştirmek için özellikler ekler.

Ancak, özel yapılandırmalarınızla devam etmek istemeniz durumunda, Spring Boot'u geçersiz kılarak müdahale etmemesini sağlayabilirsiniz.

5. Önyükleme

Servlet, Spring ve Spring Boot'da uygulama önyüklemesini ayıran şeydir.

Web.xml veya SpringServletContainerInitializer, Spring durumunda önyükleme giriş noktası olarak kullanılır. Oysa Spring Boot, yalnızca Servlet 3 ile bir uygulamayı önyükleyebilir.

6. Dağıtım

Hem Spring hem de Spring Boot, paketlemede en yaygın olarak kullanılan Maven ve Gradle desteği gibi teknolojileri desteklemeleri bakımından benzerdir. Ancak, dağıtım süreci her iki çerçevede farklıdır.

Örneğin, Spring Boot Maven Plugin, Maven'de Spring Boot desteği sağlar. Ayrıca yürütülebilir jar veya savaş arşivlerinin paketlenmesine ve bir uygulamanın "yerinde" çalıştırılmasına da olanak tanır.

Dağıtım söz konusu olduğunda, Spring Boot'un Spring'e göre birkaç avantajı vardır:

  • Gömülü kapsayıcılar için destek var
  • Java -jar komutu kullanılarak kavanozlar bağımsız olarak çalıştırılabilir.
  • Kavanozdaki çatışmalar, ona yol açan bağımlılıkları kaldırarak önlenebilir.
  • Aktif profiller tanımlayabilirsiniz
  • Spring Boot Maven Plugin, yürütülebilir jar veya savaş arşivlerini destekler ve bir uygulamayı "yerinde" çalıştırmanıza olanak tanır.
  • Rastgele bağlantı noktası oluşturma yoluyla basitleştirilmiş entegrasyon testleri

Spring Boot'un Spring'e Göre Avantajları

  1. Daha hızlı uygulama önyüklemesine katkıda bulunan varsayılan yapılandırmalar vardır
  2. Spring Boot, daha basit ve verimli derleme ve uygulama yapılandırması için Spring'in 'başlangıç' bağımlılıklarına dair kapsamlı bir görüş alıyor
  3. Kolay entegrasyona izin veren çok sayıda başlangıç ​​projesi olduğundan, eşleşmeyen sürümler söz konusu olduğunda sorun olmaz. Bunlardan bazıları, yay-önyükleme-başlangıç-web, yay-önyükleme-başlangıç-veri-jpa, yay-önyükleme-başlangıç-testi, yay-önyükleme-başlangıç-güvenlik, yay-önyükleme-başlangıç-kekik yaprağıdır.
  4. Tomcat veya iskele gibi yerleşik sunucular, bir uygulamayı çalıştırmak için açık sunuculara ihtiyaç duyan Spring'e kıyasla yürütmeyi kolaylaştırır
  5. Zamanı azaltan ve üretkenliği artıran ortak kodlardan kaçınırsınız. Yay uygulamaları çok fazla kod satırı gerektirir
  6. Spring Boot, Spring gibi bir dağıtım tanımlayıcısına ihtiyaç duymaz

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Spring Boot, geleneksel Spring'in tüm özelliklerini içerir ve uygulama geliştirmeyi çok daha kolaylaştırır. Tüm Spring Boot özellikleri otomatik olarak yapılandırıldığından, bir uygulamayı Spring'e kıyasla çok daha kısa sürede çalışır duruma getirebilirsiniz.

Spring Boot, tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500 saatten fazla zorlu eğitim sunan Tam Yığın Yazılım Geliştirmede Yönetici PG Programına göz atın. + projeler ve görevler, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Java'da Spring Boot nedir?

Spring Boot, web uygulamaları oluşturmayı kolaylaştıran Spring MVC'ye benzer bir web uygulaması çerçevesidir. Java platformunun Java 8 gibi yeni özelliklerinden yararlanmak için tasarlanmıştır. Spring Boot oldukça ileri görüşlüdür, bu da geliştiricinin işleri halletmek için tipik kodu düşünmek için zaman harcamak zorunda olmadığı anlamına gelir. Spring Boot, Spring MVC ve Spring Data üzerine kuruludur, ancak onlardan farklı olarak bir XML yapılandırma dosyası gerektirmez, güçlü bir şekilde yazılır ve sınıf yolundakilere göre kendini otomatik olarak yapılandırır. Geliştiricinin yalnızca @SpringBootComponent ek açıklamasıyla bir sınıf yazması gerekir ve Spring Boot onu bir bileşen olarak kaydetmeye ve bir Spring bağlamı oluşturmaya ve kendini yapılandırmaya özen gösterir. Bu, Spring Boot kullanmanın büyük bir avantajıdır, çünkü başlamak ve uygulanabilir bir örnek uygulama oluşturmak için gereken süreyi azaltır.

İlkbaharda bağımlılık enjeksiyonu nedir?

Spring ve Spring Boot arasındaki fark nedir?

Spring, bir Java uygulama çerçevesidir; Spring Boot, Spring'in hafif bir versiyonudur. Başka bir deyişle, Spring Boot, Spring tabanlı mikro hizmetler oluşturmayı daha uygun hale getirmek için oluşturulan Spring'in bir alt kümesidir. Spring Boot, mikro hizmetler oluşturmak için ücretsiz, açık kaynaklı, süper hızlı bir çerçevedir. Aynı Spring programlama modelini kullanır, ancak daha az bağımlılıkla daha hızlı başlamanıza olanak tanır. Spring Boot, bağımsız (Spring Boot Starter) mikro hizmetler oluşturmak için ihtiyacınız olan tüm desteği sağlar ve ayrıca sunucu tarafı Java web uygulamalarınız için harika bir temeldir.