Kitap Spring çatısını ve kullanılış tarzını tanıtmaktadır. Kitap 18 bölümden oluşmaktadır. Bunlar:
Bölüm 1
Bu bölümde Spring’in varoluş nedenini ve çalışma filozofisi incelenmektedir. Spring çatışından bahsedildiğinde en çok kullanılan kelimeler bağımlılıkların enjekte edilmesi (dependency injection), kontrolün tersine çevrilmesi (inversion of control; IoC) ve Hollywood prensibidir. Birinci bölüm bu konulara ışık tutarken, Spring çatışını oluşturan modülleri ve bu modüller kullanılarak oluşturulan Spring uygulamalarını tanıtmaktadır. Son olarak Spring 3.x sürümü ile gelen yeniliklere göz atılmaktadır
Bölüm 2
Bu bölümde Spring çatısının bağımlılıkları nasıl yönettiğini ve enjekte ettiğini örnekler üzerinde incelenmektedir. Bu bölümde yer alan bilgiler daha sonraki bölümlerde incelenecek diğer Spring konularının temelini oluşturacak.
Bölüm 3
Bu bölüm Spring ile geliştirilen uygulamalarda yaşam döngüsünün nasıl işlediğine ışık tutmaktadır. Spring kurulum, kullanım ve imha fazla örnekler üzerinde incelenmektedir.
Bölüm 4
Spring ilk etapta bir uygulamayı oluşturan modüller arasındaki mevcut bağımlılıkları yönetmek için kullanılan bir çatıdır. Spring uygulamaları XML konfigürasyon dosyaları ya da Java konfigürasyon sınıfları aracılığı ile konfigüre edilir. Bu bölüm her iki yöntemi de tanıtmaktadır.
Bölüm 5
JDBC (Java Database Connectivity) Java dünyasında veri tabanı işlemlerini yapmak için kullanılan temel teknolojidir. Spring JdbcTemplate ve Spring DAO (Data Access Object) desteği ile uygulamalarda JDBC kullanımını daha sade bir yazılım modeliyle desteklemektedir. Bu bölümde yer alan örnekler bu yazılım modelinin kullanılış tarzına ışık tutmaktadır.
Bölüm 6
Veri tabanı üzerinde yapılan işlemler verilerin yapısal bütünlüğünü bozma tehlikesine sahiptir. Verilerin deformasyona uğramasını önlemek için veri tabanı sistemlerinin sunduğu transaksiyon mekanizmaları kullanılır. Spring bünyesinde transaksiyonları yönetmek için birçok TransactionManager implementasyonu bulunmaktadır. Bunlar JDBC, Hibernate, JPA ya da JTA gibi teknolojilerin sundukları transaksiyon yönetim mekanizmalarını yazılımcının kullanabileceği tek bir yazılım modeli altında toplamakta ve uygulamaların sadece konfigürasyon değişikliğiyle değişik transaksiyon mekanizmalarını kullanabilir olmalarını mümkün hale getirmektedir. Altıncı bölümde Spring ile hem programsal hem de dekleratif transaksiyon yönetimi ve konfigürasyonu incelenmektedir.
Bölüm 7
Yedinci bölüm Spring uygulamalarında Hibernate, Hibernate ile transaksiyon yönetimi ve HiberneteTamplete kullanımını tanıtmaktadır.
Bölüm 8
Hibernate gibi bir ORM (Object Relational Mapping) aracının kullanımı kodu bu çatıya bağımlı kılabilir. Bir Java standartı olan JPA (Java Persistence API) bu tür bağımlılıkları yok etmeyi amaçlamaktadır. Bu bölüm JPA ve kullanımını tanıtmaktadır.
Bölüm 9
Spring çatısının temelini oluşturan teknolojilerin başında AOP (Aspect Oriented Programming) gelmektedir. AOP loglama, transksiyon yönetimi, güvenlik gibi uygulama genelinde geçerli olan fonksiyonları genelleyerek, işletme mantığından ayrıştırılmalarını mümkün kılan bir teknolojidir. Bu bölüm AOP ve kullanım tarzına ışık tutmaktadır.
Bölüm 10
Spring genelde mevcut yazılım API’lerini (Application Programming Interface) entegre ederek, programcalara daha kolay bir yazılım modeli sunma eğiliminde olan bir yazılım çatısıdır. Web uygulamaları geliştirmek için tasarlanan Spring MVC bu konuda bir istisna olma özelliğine sahiptir. Wicket ya da Struts gibi web çatıları ile Spring’i kullanmak mümkün iken, Spring MVC ile tam teşekküllü bir web çatısına sahiptir. Bu bölümde Spring MVC kullanımı incelenmektedir.
Bölüm 11
Spring bazlı uygulamaların güvenliğini sağlamak için Spring Security çatısı kullanılır. Web, metot ve alan nesnesi bazlı güvenliğin nasıl uygulandığı bu bölümde incelenmektedir.
Bölüm 12
Bu bölümün konusu REST (Representational State Transfer) mimarisidir. REST bir API ya da çatı (framework) değildir. Sadece bir yazılım mimari tarzıdır. REST HTTP protokolüne bağımlı değildir. Başka protokoller kullanarak REST uygulamaları geliştirmek mümkündür. Spring ile REST uygulamaları geliştirmek için kullanılan çatı Spring MVC’dir. Bu bölüm Spring ile REST mimarisine ışık tutmaktadır.
Bölüm 13
Java’da sunucu (server) uygulamalar geliştirmek için RMI, Web Service ya da TCP/IP Socket teknolojileri kullanılır. Spring’in ihtiva ettiği Remoting modülü ile sıradan Java sınıflarını sunucu uygulama haline dönüştürmek mümkündür. Bu bölümde Spring Remoting modülü ve sunucu oluşturma işlevi örneklerle tanıtılmaktadır.
Bölüm 14
Entegrasyon teknolojisi denildiğinde ilk akla gelen Web Service teknolojisidir. Java dünyasında SOAP ve WSDL (Web Service Description Language) kullanılarak web servis uygulamaları geliştirilir. WSDL kullanıcı ile sunucu arasındaki veri alışverişini tanımlayan meta bilgileri ihtiva eden bir yapıdır. Spring Contract First, yani WSDL dosyasını oluşturarak yola çıkma filozofisini destekleyen web servis geliştirme modelini desteklemektiktir. Bu bölümde Spring ile web servis uygulamalarının nasıl geliştirildiği ve test edildiği incelenmektedir.
Bölüm 15
Spring yazılımcıyı test konusunda da yalnız bırakmamaktadır. Bu bölümde Spring ile birim ve entegrasyon testlerinin nasıl oluşturulduğu konusuna ışık tutulmaktadır.
Bölüm 16
Bu bölüm JMX (Java Management Extentions) konusunu incelemektedir. JMX çalışır durumda olan uygulamaların konfigürasyon yönetimi ve izlenimi (monitoring) için kullanılan bir Java API’sidir.
Bölüm 17
Spring uygulamalarında paralel görev (task) koşturma işlemi için TaskExecutor kullanılır. Bunun yanı sıra TaskScheduler belli zaman birimlerinde görev koşturmak için oluşturulmuş, Spring 3.0 ile kullanıma sunulan bir interface sınıftır. Bu bölümde Spring Task ve Scheduling modülünün parçası olan bu sınıflar ve kullanımları incelenmektedir.
Bölüm 18
Kitabın son bölümünde e-posta gönderme işlemlerinin Spring çatısı ile nasıl yapabileceği tanıtılmaktadır. Spring bünyesinde e-posta gönderme işlemleri için kullanılan merkezi sınıf org.springframework.mail.MailSender sınıfıdır. Bunun yanı sıra org.springframework.mail.javamail.JavaMailSenderImpl ile JavaMail API’yi kullanan e-posta gönderme uygulamaları geliştirilebilir. Bu bölümde ayrıca Velocity çatısı ile e-posta iletilerinin şablonlar kullanılarak nasıl yapılandırılabileceği tanıtılmaktadır.
Aşağıda yer alan linke tıklayarak bu e-kitabı ücretsiz edinebilirsiniz.