Spring boot Java programlama dilinde geliştirilen bir frameworktür. Java dilinde microservice yazılmasına olanak sağlar.
Peki MicroService nedir ?
Çalışan programın ana işlemi üzerindeki yük bölünerek ayrı ayrı işlemlerde çalışmasına ve bu sayede daha performanslı servisler geliştirilebilmesine olanak tanıyan bir yazılım geliştirme mimarisidir. Birlikte çalışabilen, otonom/bağımsız olarak deploy edilebilen belli bir iş sorumluluğu yüklenmiş küçük iş servisleridir. Bu servisler bir biri ile network üzerinden konuşarak anlaşırlar ve bir çok avantajıda yanlarında getirirler. En büyük avantajlarından birisi bağımsız olarak deploy edilebilir olmalarıdır. Bununla birlikte bir çok farklı teknoloji ile birlikte çalışma fırsatı (technology agnostic) sunmaktadır.Özetle tek bir işi gerçekleştirmekten sorumlu servislerdir diyebiliriz .
Spring boot kullanarak daha az veritabanı kodu yazarak daha az vakit kaybı ile daha hızlı geliştirme yapabilirsiniz .Servis uçları için REST kullanımı sunar ve güçlü bir REST yapılandırmasına sahiptir. Birçok yapılandırma otomatik olarak yapılmış durumdadır.
Var olan anotasyonları kullanarak uygulama ve uygulama içi mimarilerde kolayca değişiklik yapabilirsiniz. Kendisine ait bir servlet container bulunur. Bu sayede servis uçlarına gelen istekleri alır işler ve ilgili komutlara yönlendirir.
Spring uygulamanızın çalışması için temel 3 tane anotasyon bulunmaktadır .
Öncelikle Dependency Injection kavramı öğrenmeliyiz .
Uygulama geliştirirken bir sınıfa ait özelliği başka sınıfta kullanmak istediğimizde new anahtar kelimesini kullanırız yada o bilgiyi nesneye atar ,diğer sınıfa yönlendiririz. Bu şekilde nesnelerin birbirleriyle ilişkili olduğu durumlarda eğer bu durum iyi yönetilmezse yada iyi tasarlanamazsa bu durum ilerde büyük sorunlara yol açabilir :)
Yaptığınız uygulamalar modüler ve geliştirmeye açık olmalıdır . Bunun içinde nesneler arası bağlar zayıf olmalıdır .Bir nesne veya sınıf üzerinde değişiklik yapıldığında sınıf ile ilişkili ya da o sınıfın nesnesini kullanan tüm diğer sınıflar ve modüller bu değişiklikten etkilenmemelidir. İşte tam bu noktada Dependency Injection devreye giriyor.
Dependency Injection Inversion of Control (Ioc) teoreminin özelleştirilmiş ve en çok kullanılan kısmıdır diyebiliriz. Özetle bir sınıfı bağımlılıklarından bağımsız hale getiren bir programlama tekniğidir.
Spring Ioc container görevini üstlenir ve uygulamalarımız için Dependency Injection desenini uygulayan bir yapıdır. Spring bize iki farklı Dependency Injection özelliği tanımlamaktadır.
Spring Boot’un oluşturulma amacı uygulama yapılandırılmasının karmaşıklığını gidermektir .S
Spring Boot’un oluşturulma amacı uygulama yapılandırılmasının karmaşıklığını gidermektir.
Spring Boot kullanmanın bir çok artısı vardır .
Java, yazılım uygulamalarının geliştirilmesinde yaygın olarak kullanılan popüler bir programlama dilidir. Java uygulamalarını geliştirirken göz önünde bulunduru
SOLID , yazılım tasarımlarını daha anlaşılır, esnek, sağlam ve sürdürülebilir hale getirmeyi amaçlayan 5 tasarım ilkesinin kısaltmasıdır. Java'da kullanımı anlatacağım.