Ioc(Inversion of Control) ve DI(Dependency Injection) yazılarının ardından sıra Spring Framework’ e geldi. Her zaman olduğu gibi yeni konumuza teorik olarak giriş yapacağız. IoC ve DI konuları hakkında fikriniz yoksa bağlantılara tıklayarak önceki yazılara bir göz atmanız faydalı olacaktır.

Spring kullanılabilirlik açısından sadece Java EE uygulamalarda kullınılmaz. EE’ nin yanı sıra Java SE uygulamalarda da kullanılabilir. Yapısı gereği Spring böyle bir avantaj ile karşımıza çıkmaktadır. Avantajları arasında, kullanıcının direkt olarak API’ lerle karşı karşıya kalmasını engeller. Ayrıca XML tabanlı çalışabilmesi, başlangıç ayarları gibi durumlarda bean oluşturmada oldukça kolaylık sağlıyor. Spring kendi içerisinde modüler bir yapıdadır. Genel bir bakış atarsak;

Spring Framework

Resimde görüldüğü gibi Spring Framework ana ve alt modüller halinde işlemektedir. Şimdi bu modüllerin işlevlerine çok kısa değinelim.

Core & Bean: IoC ve DI prensiplerini işleyen Spring’ in temel bileşenlerinden ikisidir. Zaten çekirdek kısım olarak da adlandırılması normal olmalı :D. Ayrıca bu kısımda BeanFactory en çok kullanılan metotlardan biridir.

Context: Bean modülü yardımı ile oluşturulmuştur. EJB, JMX gibi yapıları destekler. ApplicationContext arayüzü en temel noktalardan biridir.

Expression Language: Daha güçlü uygulamalar ve daha kolay bir yazım için geliştirilmiş tekniktir. Aslında JSF ile ilgilendiyseniz pek de yabancı gelmeyecektir.

JDBC: Bu modül ile yayımlayıcıya bağımlı olmaksızın veritabanı işlemleri gerçekleştirilebilir.

ORM: JPA, Hibernate gibi tablo – sınıf ilişkisi içeren tekniklerin karşılandığı modüldür.

OXM: Object – XML ilişkisi bu modül aracılığı ile sağlanır.

JMS: JMS API’ nin kullanımına ilişkin modül burada yer alır. JMS API ile ilgili bilgi edinmek için daha önce yazmış olduğum JMS API serisine göz atabilirsiniz. JMS API – 1, JMS API – 2, JMS API – 3, JMS API – 4

Transaction: POJO için programlama  ve deklaratif şekilde yapı sunar.

Web: Spring’ in web ile alakalı temel yapıları bu modül içerisinde barınır.

Web – Servlet: Web uygulamaları için MVC tanımı bu modülde yer alır.

Web – Strut: Strut yapısının tanımlandığı modül.

Web – Portlet: Portlet ortamında kullanılmak üzere MVC tanımı içerir.

AOP: AOP tekniğinin kullanılmasına dair yapılar ve tanımlar bu modülde yer alır.

Test: JUnit gibi test araçlarının kullanılması için gerekli olan tanımlar bu modülde yer alır.

Bu kadar tanımın aslında pek de eğlenceli olmadığı bir gerçek. Yalnız Spring’ in işleyişini anlayabilmek için temel yapısına göz atmak da kaçınılmaz. Umarım Spring hakkında bir fikriniz olmuştur.

Bol Java’ lı günler dileğiyle…

Categories:

One response

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir