25

Oca

2015

Spring Nedir ? Neden Spring ?

Spring kütüphanesi J2EE geliştirmeyi daha kolay hale getirmek amacıyla açık kaynak kodlu olarak geliştirilen bir java platformudur.J2EE, Java 2 Platform Enterprise Edition ifadesinin kısaltılmış halidir.Sun tarafından geliştirilen J2EE, web tabanlı çevrimiçi uygulamalar geliştirmek amaçlı platform bağımsız, java merkezli geliştirme ortamıdır.Spring basit,taşınabilir,hızlı ve esnek JVM tabanlı sistemler ve uygulamalar geliştirmenizi sağlar.

Spring, kurumsal uygulamalar geliştirmek için en popüler java geliştirme ortamıdır.Dünya genelinde milyonlarca geliştirici Spring Framework üzerinde kolayca test edilebilir,yüksek performanslı uygulamalar geliştirmektedir. Rod Johnson  tarafından geliştirilmiş olup ilk olarak 2003 yılında Haziran ayında Apache 2.0 lisansı altında yayınlanmıştır.

Spring Framework‘ün Faydaları

  1. Spring, geliştiricilere POJO kullanarak kurumsal sınıf uygulamaları geliştirme imkanı sağlar. POJO ile herhangi bir sınıf bağımsız olarak tanımlanabilir.
  2. Spring modüler olarak geliştirilmiştir.Paket ve sınıf sayıları önemli olsa da, ihtiyacınız olan sınıfları ve paketleri kullanarak diğerlerini görmezden gelmenizi sağlamaktadır.
  3. Spring, tam anlamıyla bir ORM yapısı sağlayarak JEE,Kuvars ve JDK sayaçlarını bünyesinde bulundurarak diğer teknolojileri de kullanmak için alt yapı sağlamaktadır.
  4. Spring ile yazılmış bir uygulamanın test edilmesi kolaydır.
  5. Spring Web Framework, popüler olan Struts ve diğer kütüphaneler gibi iyi tasarlanmış bir Web MVC alt yapısı sağlamaktadır.
  6. Spring tutarlı veya kontrolsüz(teknolojiye özel istisna durumlar) teknolojilerin kullanımı için uygun bir API sağlamaktadır.(Hibernate,JDBC,JDO)
  7. Spring küçük bir uygulamadan küresel işlem yapan bir uygulamaya kadar gerekli alt yapıyı ve desteği sağlar.

Dependency Injection (DI)

Dependency Injection bir yazılım geliştirme yöntemidir ve Spring’in iki önemli (DI ve AOP) yapısından biridir.Bu yapı yazılımınızın daha anlaşılır,geliştirici açısından kolay ve başarılı şekilde gerçekleştirilmesini sağlar.Spring kütüphanesi POJO sınıflarını kullanarak sınıfların bağımsız olarak çalışmasını ve kolayca değişiklik yapılmasını sağlar.Spring DI yapısı ile ilgili daha fazla bilgi için bu linke ve DI yapısı ile ilgili daha fazla bilgi almak için bu linke bakabilirsiniz.

Aspect Oriented Programming (AOP)

Spring’in önemli ikinci yapısı olan Aspect oriented programming (AOP) uygulama içerisindeki servislerin çalışma zamanlarının kontrolü ve doğru zamanda yapacakları işi gerçekleştirmelerini sağlamaktadır. AOP yapısı izlediği bu yol ile Nesne Tabanlı Programlama(OOP) yapısını tamamlar.

** AOP ve DI yapıları ileri ki derslerde detaylı olarak incelenecektir.

Neden Spring Framework Öğrenmelisiniz ?

  1. Paketleri, modülleri, sınıf yapıları ve birçok özelliği ile yüksek kaliteli açık kaynak bir yazılımdır.
  2. Modüler yapısı ile 20 modülden oluşmakta ve tüm modülleri kullanma zorunluluğu olmadan istenilen modülü kullanma özgürlüğü vermektedir.
  3. Tutarlılığı, API yapısı ve bulunan kaynaklar ile (basılı,çevrimiçi) öğrenmeyi kolaylaştırmaktadır.
  4. Spring Framework için oluşturulan kaynaklar, bu altyapıyı kullanarak oluşturulan sistemler ve iş ilanları Spring Framework’un bilinirliğini ve popülerliğini gsötermektedir.

Örnek Açık Kaynak Projeler

Spring öğrenmek için birçok kaynak bulunmakta ama Spring ile kompleks uygulamalar geliştirebilmek için bir noktadan sonra varolan projeleri ve kodlamaları incelemek gerekiyor. Spring ile neler yapılacağını göstermek ve ileri seviye dersler de örnek çalışmalar olarak bulunması amacıyla aşağıda inceleyebileceğiniz bir liste paylaşıyorum .Bu listeyi internette arama yaparak genişletebilirsiniz.

Shopizer

Powerstone

Tudu Lists

Alfresco Content Management

SpringSide

Plazma

agileexpress

Zksample2

Spring Rich Client

Broadleaf Commerce

OpenERP

HISPACTA

Luigi Open Search Engine

JOSSO

HSE

Java Small Business Platform

jrecruiter

 

Bu yazı içerisinde Spring kütüphanesini tanımanızı ve örnek uygulamaları görerek bu platform ile neler yapabileceğinizi anlatmaya çalıştım. Yazı içerisindeki kavramlar yabancı gelse de sonraki yazılarda detaylı olarak bu kavramların üzerinde duracağız.

Bu yazı ilk olarak Akıllı Yazılım’da yayınlandı.
http://www.akilliyazilim.org/spring-framework-dersleri/spring-nedir-neden-spring.html

 

About Author

Yusuf Çakmak

Teknoloji ile ilgilenmeyi seven, herhangi bir teknolojiye kendini ait hissetmeyen, zaman buldukça farklı dilleri, kütüphaneleri, cihazları denemeye çalışan kendi halinde biriyim.

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir