Spring Nedir, Neden Kullanılır?

Merhaba arkadaşlar, bu yazımda size Spring ‘den bahsetmeye çalışacağım. Bu sadece bir yazıda anlatılacak kadar küçük değil, bu yüzden ne olduğundan ve kullanmamız bize nasıl faydalar sağlar gibi şeylerden bahsedeceğim. Sonraki yazılarda daha derinlemesine giriş yapmayı düşünüyorum.

Spring kütüphanesi, J2EE(Java 2 Enterprise Edition) ile web uygulamalarını geliştirirken bize kolaylık sağlamaktadır. Spring rutin işlemleri bizim için arka kısımda hallederek bize hız, performans ve kullanım kolaylığı sağlar. Bu da bize hız, kod sadeliği ve güçlü bir alt yapı sağlıyor. Kurumsal projelerde oldukça popülerdir. Spring 2003 yılında geliştirilmeye başlanmıştır. Spring ‘den önce geliştirilen uygulamalarda katmanlar birbirinden ayrı parçalar halinde bulunmaktaydı. Geliştirimi ve yönetimi oldukça yorucu oluyordu. Spring sayesinde bu katmanları bir uygulama çatısı altında toplamak mümkün hale geldi. Modül bazlı oluşu her alt kütüphanesini eklememize de gerek bırakmıyor. Gelelim faydalarına:

  • Spring, biz geliştiriciler için POJO kullanarak kurumsal bir yapı kurmamızı ve yönetmemizi sağlar,
  • Spring, daha önce de söylediğim gibi modüler olarak geliştirilmiştir, sadece ihtiyacınız olan modülleri ekleyerek gereksiz modül eklememiz için bizi zorlamaz,
  • Spring, ORM yapısıyla bize JEE, JDK ve Kuvars sayaçlarını içerisinde bulundurarak diğer çatı ve kütüphanelerle de çalışma imkanı sunar,
  • Spring kullanılmış projelerde test sınıfları yazmak ve kullanmak kolaydır,
  • Spring kullanmak için büyük bir projeye ihtiyacınız yoktur, her büyüklükteki projeye entegre edilebilir.

Dependency Injection(DI)

Dependency Injection popüler yazılım geliştirme yöntemlerinden biri ve aynı zamanda da Spring ‘in iki önemli yapısından biridir. SOLID ilkelerinden de bilindiği gibi bu yöntem, geliştirici açısından bağımsız sınıflar oluşturmak için kullanılmaktadır. Spring de bu yöntemle birbirinden bağımsız POJO sınıfları oluşturmamızı sağlamaktadır.

Aspect Oriented Programming(AOP)

Spring ‘in diğer önemli yapısıdır, uygulama çalışma zamanında kod yönetimi sağlamaktadır. Örneğin veri tabanına bir kayıt yapılacağı zaman bunun entitymanager ile begin ve commit işlemleri yapılacak notasyonlarla yönetimi sağlanabilmektedir.

Şimdi de Spring ‘in modüllerinden kısaca bahsedelim.

Spring Core: Bu modül, Spring ‘in temelini oluşturur, Loose Coupling gibi yapıları barındırır.

Spring AOP: AOP, Spring tarafından direkt olarak kullanılmasa da deklaratif transaksiyon veya güvenlik uygulamalarında dolaylı olarak kullanılmaktadır.

Spring MVC: Spring MVC, Spring ile Model-View-Controller yapısını oluşturmamızı sağlayan modüldür.

Spring Context: ApplicationContext ve WebApplicationContext gibi yapılar, bu modülde implemente edilmiştir. XML dosyalarında bulunan Spring bean tanımlamaları yapmak ve bu beanları okumak için kullanılmaktadır.

Spring DAO(Data Access Object): Bu modül JDBC gibi teknolojilerin kullanımını basitleştiren sınıfları içermektedir.

Spring ORM(Object Relational Mapping): Bu modül Hibernate,JDO ve TopLink gibi frameworklerle Spring ‘in entegre olmasını sağlamaktadır.

Spring ‘in modülleri bunlarla sınırlı değil ancak şimdilik örnek için yeterli, daha fazla modül için kendi sitesini ziyaret edebilirsiniz.

EOC(End Of Code)

Yorum bırakın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.