#1 Spring Nedir ? Spring Boot ve Spring Framework Neden Kullanılır?

Ubeyde Akgül
Huawei Developers - Türkiye
4 min readMar 23, 2021

--

Bu yazıda; büyük ölçekli veya kurumsal uygulamalar geliştirirken tercih edilen Spring Framework ve içerdikleri ile birlikte sağladığı avantajlardan kısaca bahsedicem.

Spring.io, Spring Source firmasının geliştirmiş olduğu ve kurumsal uygulamalara dönük çözümler getiren açık kaynak kodlu büyük bir ekosistemdir.

2003’de Mimarı Rod Johnson tarafından yayınlanmıştır. Java programlamayı herkes için çok daha hızlı, daha kolay ve daha güvenli hale getiren Spring; odak noktası olan hız, basitlik ve üretkenlik ile dünyanın en popüler Java frameworküdür. Spring’i “lord of the frameworks” olarak düşünebiliriz.

Spring Ecosystem

Spring tarafından sağlanan birçok araç ile, kullanıma hazır çözümlere sahip olmanın avantajlarından yararlanarak binlerce satır ek kod yazmaya ve ekstra zaman harcamaya gerek kalmıyor.

En önemli temel özellikleri : Inversion of Control (IoC) , Dependency Injection (DI), Aspect Oriented Programming (AOP), Core Container, Data Access/Integration, Model View Controller Architecture (MVC) ,

Sunduğu özellikle Inversion of Control — IOC (Kontrolü Spring’e Çevirme) yaklaşımı ve Dependency Injection — DI(Bağımlılık Enjeksiyonu) mekanizmasıyla tüm nesnelerin yönetimini kendi üstlenerek yazılım geliştiricilere büyük kolaylık sağlıyor.

AOP (Aspect Oriented Programming) modeli ile, kesişen ilgi noktalarının (Cross Cutting Concerns) birbirinden ayrılmasını kolaylaştırır. Örneklemek gerekirse : log ,security gibi modüller merkezi bir yerde toplanarak, programdan bağımsız bir şekilde çağrılabilir

MVC (Model View Controller) web uygulaması mimarisi ile uygulamanın arayüz, veri, iş-işlem gibi sorumluluk katmanlarını birbirinden ayrıştırır.

techterms — mvc

Neden Spring kullanmalıyız ?:

edureca — Spring Framework Architecture

Spring is everywhere

Spring’in esnek kütüphanelerine dünyanın her yerindeki geliştiriciler güvenmektedir. Ayrıca, Alibaba, Amazon, Google, Microsoft ve daha fazlası dahil olmak üzere teknolojideki tüm büyük isimlerin katkılarına sahip.

Spring is flexible

Spring’in esnek ve kapsamlı extentionları ve third part kütüphaneleri, geliştiricilerin hemen hemen tüm uygulamaları oluşturmasına olanak tanıyor. Temelde, Spring Framework’ün Inversion of Control (IoC ve Dependency Injection (DI) özellikleri, çok çeşitli özellikler ve işlevsellik için altyapı sağlıyor.

Web için secure, reactive, cloud-based mikro hizmetler veya kurum için comxplex streaming veri akışları gibi birçok konuda size yardımcı olacak araçlara Spring ile sahip olabilirsiniz.

Spring is productive

Java geliştirme yaklaşımınızı ve deneyimlerinizi standart düzene sokar. Spring Boot, microservice geliştirmeyi çok kolay hale getirmek için application context ve auto-configured, embedded web sunucusu gibi gereksinimleri bir araya getirir. Örn : Spring Boot’u Spring Cloud’un zengin kütüphaneleri, pattern ve template leri ile birleştirerek rekor sürede bir microservie projeye çıkartabilirsiniz.

Spring is fast

Geliştiricileri Spring performansını çok önemsiyor. Spring ile, varsayılan olarak hızlı başlatma, hızlı kapanma ve optimize edilmiş yürütmeyi fark edeceksiniz. Spring projeleri, daha fazla verimlilik için reactive (nonblocking) programlama modelini de desteklemektedir.

Embedded web servers, auto-configuration, and “fat jars” gibi özellikler hızlıca geliştirmeye başlamanızı sağlarken, LiveReload in Spring DevTools gibi yenilikler, geliştiricilerin her zamankinden daha hızlı yineleme yapabilmesini sağlar.

Spring, geliştirici üretkenliğini (Developer productivity) super gücü olarak görüyor.

Spring Initializr (start.spring.io) ile saniyeler içinde yeni ve hazır bir Spring projesine başlayabilirsiniz.

Spring is secure

Spring, güvenlik sorunlarıyla hızlı ve sorumlu bir şekilde başa çıkma konusunda kendini kanıtlamıştır.

Spring Security, endüstri standardı güvenlik düzenleriyle entegre olmanızı ve varsayılan olarak güvenli çözümler sunmanızı kolaylaştırır.

Spring geliştiricileri bildirilen güvenlik açıklarını yamalamak-geliştirmek ve test etmek için güvenlik uzmanlarıyla birlikte çalışıyor. Third-party bağımlılıkları da yakından izlenir ve verilerinizi ve uygulamalarınızı olabildiğince güvenli tutmaya yardımcı olmak için düzenli güncellemeler yayınlanır.

Spring is supportive

Spring community devasa boyutta ve küresel çeşitlilikte her yaştan ve yetenekten insanı barındırıyor. İhtiyaç duyduğunuz tüm desteği ve kaynakları rahatça bulabilirsiniz : quickstarts, guides & tutorials, videos, meetups, support, training and certification.

spring framework ecosystem

Bu yazımda; genel olarak Spring nedir , Spring’in avantajları nelerdir, neden Spring kullanılır hakkında bazı bilgiler aktarmaya çalıştım.
Serinin ikinci yazısında, SpringProjects ile sağlanan Spring Framework modullerinden ve içerdiklerinden bahsedicem.

--

--