4/12/2007 - 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.
|