Spring Framework

javabeat.net Introduction to Spring MVC Web Framework makalesini incelemeden önce Spring Framework'ü sadece bir uygulama çatısı (framework) olarak biliyordum. Çalıştığım projelerde genel kabul görmüş Struts un yaygın olarak kullanılmasına vermek istiyorum bu cahilliğimi. Aslında Spring ile uygulama geliştirmesemde genel kültür düzeyinde öğrenilebileceğini kabul etmem gerekiyor. Bu sebepten ötürüdür ki bu hafta Spring incelemeye başladım.

Temel olarak uygulama mantığını bulunduran ve işlerin kısmi olarak yürütüldüğü Bean ler, Bean ler arasınaki bağımlılıklar (dependencies) ve Bean lerin XML konfigürasyonları Spring kavramının container özelliğine başlangıç yapmak için yeterli. Makalede de bahsedilen Core Spring kavramına framework + container özelliklerinin dahil edilmesi gerektiği. Spring in tam olarak J2EE nin yerine geçmesi ise bence mümkün olmamakla birlikte zaman içerisinde cevabını öğrenebileceğimiz bir soru.

J2EE container kitaplıklarının (JAR) kullanılmaması nedeniyle TDD (Test Driven Development) için uygun POJO ların geliştirilebileceğine de değinmek gerekiyor. HttpServlet benzeri sınıfların kullanımı ile J2EE container bağımlılığı yaratılmakta ve TDD geliştirmeden uzaklaşılmaktadır şeklinde bir genel kabul hakim. Spring kullanımı ile geliştirilen kodlarda bu tip bağımlılıkların olmadığını görmek mümkün.

Uygulama gereksinimlerine göre kullanılacak Spring modüllerinin seçim imkanı sanırım Spring Framework'ü farklı kılan en büyük özelliği. Mantıklı seçimlerin performansıda olumlu yönde etkileyeceği ortada. Seçim yapabileceğiniz modüllerin listesi aşağıdaki gibi.

Spring Web MVC (spring-webmvc.jar)

Spring Aop (spring-aop.jar)

Spring Beans (spring-beans.jar)

Spring Context (spring-context.jar)

Spring Core (spring-core.jar)

Spring Dao (spring-dao.jar)

Spring Core (spring-core.jar)

Spring DAO (spring-dao.jar)

Spring Hibernate (spring-hibernate.jar)

Spring Ibatis (spring-ibatis.jar)

Spring Jca (spring-jca.jar)

Spring Jdbc (spring-jdbc.jar)

Spring Jdo (spring-jdo.jar)

Spring Jms (spring-jms.jar)

Spring Jpa (spring-jpa.jar)

Spring Jmx (spring-jmx.jar)

Spring Portlet (spring-portlet.jar)

Spring Remoting (spring-remoting.jar)

Spring Struts (spring-struts.jar)

Spring Support (spring-support.jar)

Spring Toplink (spring-toplink.jar)

Spring Web (spring-web.jar)

Spring Aspects (spring-aspects.jar)

Her bir modülün işlevsel olduğu konu adıyla da anlaşılabilir. Mesela web uygulamaları için altyapı gereksinimleri için string-dao modülü, araçlar için yönetim desteği içinse spring-jmx modülüne ihtiyaç olacaktır.

Spring Core API kısaca söylemek gerekirse Business Components dediğimiz Bean lerin Configuring, Creating and Making Association yani konfigürasyonları, oluşturulmaları ve ilişkilerinin kurulması için gereklidir. Resource ve BeanFactory sınıfları ile kısıtlı bir modül olarak Spring Core API yi görmek mümkün.

Bu kadar kültürel bilgiler ardından bir sonraki makale konusuna şimdiden karar vermiş durumdayım. Spring Web Tier modül incelemesi. Bu hafta içerisinde incelemelerimi paylaşmayı düşünüyorum.

Yorum Yaz
Arkadaşların Burada !
Arkadaşların Burada !