Merhaba arkadaşlar, bu yazımda sizlere java spring 4 Crud yapı kullanımından bahsetmek istiyorum. Kullanmış olduğum teknolojiler aşağıdaki gibidir.
Spring 4.1.5 RELEASE
Hibernate 4.3.8 Final
MySQL 5.1.10
Java 8
Eclipse
Tomcat 8
Maven 3

Projemizin yapısı aşağıdaki gibidir.
Bu demo projemizde ilk olarak databasemizi oluşturup bir tane employee tablosu oluşturuyoruz.
Yazdığımız script aşağıdaki gibidir.

Sonrasında maven projesi oluşturup pom.xml dosyasına geliyoruz ve aşağıda yer alan kodu yapıştırıyoruz.

Burada projede kullanılacak olan jarları yazıyoruz ve indirmesini sağlıyoruz. Daha sonra ise <webXml> attributesi ile başlayan yerde web.xml (ayar)  dosyasının nerede olduğunu belirtiyoruz. Pom.xml kısmını daha önceki yazılarıma bakarak konfigirasyonun ne anlama geldiğini anlayabilirsiniz.

Şimdi ise bizim web.xml kısmını yazıyoruz.

<url-patern> diye başlayan tagda url için nereye bakması gerektiğini yazıyoruz.
<servlet-name> tagı ile başlayan yerde ise projenin database bağlantısı ve projede yer alan öncelik sonralık ilişkilerinin bulunduğu dosyadır.

Şimdi ise web.xml de yer belirttiğimiz mvc-dispatcher kısmını yazıyoruz.

<props> etiketi ile başlayan kısımda databaseye bağlantı bilgilerinin olduğu yerdir. Burada dialecti( hangi databaseye bağlanacağımıza göre farklı jarlar gerektirir ) onu yazıyoruz.

hbm2ddl yazan yerde ise biz databaseyi create mi edeceğiz yoksa update mi onu yazıyoruz.

property-name packagestoScanner yazan  kısımın valuesinde ise tablolara ait pojo ( db de oluşacak tablo )’ların
bulunduğu klasörün yerini yazıyoruz.
Sonrasında ise burada property kısmında yer alan şifrelerin dialectlerin ve diğer databaseye ait ayarlamaların yazıldığı dosyadır.

Şimdi ise pojo kısmını yani dbde oluşacak olan tabloların içeriğinin yazılacağı kısma geldik.

Burada tabloda id name age salary isminde colomnların olacağını belirttik.
Şimdi ise utilty ksmını yani temel işlemlerin yapıldığı kısmı yazıyoruz. Bunu elimizden geldiğince generic yazmaya özen gösterdim. Böyle olunca başka yerlerde de kullanmamıza izin verecek bir yapı sağlamış olduk.

Ne işe yaradığını az çok isminden anlıyoruz. create methodu insert etmemizi update methodu güncellediğimizde delete methodu sildiğimizde  fetchall methodu tamamını listelememizi sağlayan methodtur.
Şimdi gelelim dao kısmına yani databasenin işlemlerinin yapıldığı katmana. Bunun için ilk olarak dao interfacesini yazıyoruz.

Şimdi ise EmployeeiDAOiImpl katmanını yani bu sınıfın implement edildiği kısmı yazıyoruz.

Burada bizim generic olarak oluşturduğumuz hibernate util sınıfına ait olan işlemleri bu tabloya özgü hale getiriyoruz.
Daha sonra ise service katmanını yazıyoruz. Burada interface oluşturuyoruz. Bunu oluşturma sebebimiz kod bağımlılığından kurtararak daha değişken ve esnek yapıda tasarım yapmamıza izin veren bir kod oluşturmak istememizdir.

Servis katmanı içinde aynısı geçerlidir. MVC yapısı olduğu için ve esnek çalışma yapısı sayesinde bu mimariyi tercih ediyoruz.

Model kısmı burada bitti şimdi ise controller kısmının olduğu bölümü yazacağız.
Controller kısmı ekran ile veritabanı bağlantısını sağlayan kısımdır.

RequetMapping yazan kısmı ise servis katmanı ile bağlantı sağlayan kısmıdır. Yukarıda söylemeyi unuttum servis katmanında eğer doğru anotationları kullanırsak web servis olarak yayın yapabiliriz. (Restfull vb. )
Şimdi ise view katmanını yazarak devam edelim…
İlk olarak Employee Nesnesinin listelendiği kısmı yazacağım.

Burada arama listeleme işlemleri yapılmaktadır. employee dediğimiz yerde ise controller katmanında olanı yazıyoruz.
Update, insert, delete işlerini yaptığımız form kısmına geldik burada da aynı mantık vardır.

Bir yazımızın daha sonuna geliyoruz.

Detaylı bilgiler için javascript için
primeFaces için tıklayınız
Spring tutorial için Tıklayınız…
Ayrıca spring örneği için  tıklayınız  ve  örnek 2 tıklayınız