http://tr.scribd.com/doc/109863536/Oop
Scribd yasaklı sitelerden olduğu için link güncellendi. (1.11.2014)
http://www.slideshare.net/saidaydogan/nesne-ynem
Doğrudan Erişim:
http://tr.scribd.com/doc/109863536/Oop
Scribd yasaklı sitelerden olduğu için link güncellendi. (1.11.2014)
http://www.slideshare.net/saidaydogan/nesne-ynem
Doğrudan Erişim:
Maven aracını, Visual Studio’nun Nuget Packet Manager i olarak tanımlayabiliriz. Bu sayede ihtiyaç duyulan kütüphaneler, eklentiler vs galerisinden indirilerek otomatik buil edilerek projenizde kullanılır hale getirilmektedir.
Maven’i şurdan(tıklayın) indirip dilediğiniz bir yere kurulum yapabilirsiniz. Kurulum denince öyle setup felan değil size verdiği sıkıştırılmış dosyayı çıkarın o kadar 🙂
Windows için;
“Denetim Masası\Sistem ve Güvenlik\Sistem” altında “Gelişmiş sistem ayarları -> Gelişmiş tabı -> Ortam Değişkenleri…” ne tıklayarak “PATH” için kurulum yaptığınız yeri eklemek gerekebilir. Bunu eklediğimizde hali hazırda komut satırından Maven’in kurulu olduğu dizine gitmeye gerek kalmamaktadır. Ayrıca Maven’in sorunsuz çalışabilmesi için “JAVA_HOME” ortam değişkeni(“C:\Program Files\Java\jdk1.7.0_17”) de tanımlı olursa ne âlâ.
Artık konsoldan maven çalıştırılabilir olacaktır.
1 |
mvn --version |
Aşağıdakine benzer bir sonuç veriyor olması gerek.
Maven ile eclipse’de örnek bir proje açacak olursak (Eclipse Luna Service Release 1 ile):
New -> Other -> Maven klasörü altından Maven Project ya da New-> Maven Project seçilerek devam edilir.
Bir sonraki ekranda archetype adı verilen proje şekilleri var. Burda “quickstart” olanı seçerek ilerleyebiliriz. Burdaki archetype mantığı önceden belirli tipte projeler için belirli bağımlılıklar, eklentiler vs projede hazır olarak gelmesini sağlayıp işleri kolaylaştırır.
Sıra artık son aşamada burda da yapacağımız işin adını koyup finish diyoruz.
Maven bizim için örnek bir hello world oluşturdu ve aşağıdaki şekilde yapıya sahip oldu.
Burda dikkat çeken şeyler;
Bunları sırayla açıklıycak olursak;
Örnek bir bağımlılık eklemek için;
Mysql JDBC Connector’ü ekleyecek olursak (burdan) öğrenilen değerleri giriyoruz. Aslında girmeden search ederek de yapması gerek ama bende çalışmadı 🙂
OK diyip pencereyi kapatıyoruz ve büyük ihtimal build automatically seçili olduğu için fazla sürmeden Maven dependencies altına eklendiğini göreceksiniz.
Bunları sadece Maven’in yaptıklarının birkaçı olarak adlandırabiliriz. Daha fazla inceleme yapılabilir.
Dip Not: Maven build edememesi durumunda Eclipse’te “Windows -> Preferences -> Maven -> Installations” altına Maven’i kurduğunuz dizini ekleyip deneyebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package com.saidaydogan; public class Insan implements java.io.Serializable { private static final long serialVersionUID = 1L; private String ad, tc; public Insan(String ad, String tc) { this.ad = ad; this.tc = tc; } public String getAd() { return ad; } public void setAd(String ad) { this.ad = ad; } public String getTc() { return tc; } public void setTc(String tc) { this.tc = tc; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package com.saidaydogan; public class Calisan extends Insan { private static final long serialVersionUID = 1L; private int maas; public Calisan(String ad,String tc,int maas) { super(ad,tc); this.setMaas(maas); } public int getMaas() { return maas; } public void setMaas(int maas) { this.maas = maas; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
package com.saidaydogan; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; public class Test { public static void main(String[] args) { System.out.println("Test Başlatıldı.."); Serilestir(); } public static void Serilestir() { try { // ObjectOutpuStream sınıfı java.io.ObjectOutput arayüzünü gerçekleyen bir nesneyle kurulabilir. ObjectOutputStream writer = new ObjectOutputStream( new FileOutputStream("test.data")); // test.data dosyası proje klasöründe oluşacaktır. çünkü tam yol belirtilmedi. writer.writeObject(10); // Calışan sayısı yazdırılıyor ki okurken bu bilgi lazım olacak. System.out.println("10 çalışanın Bilgileri Şu Şekilde"); Calisan calisan; for (int i = 0; i < 10; i++) { // 10 tane çalışan üretiliyor ve test.data ya yazdırılıyor. calisan = new Calisan(Integer.toString(i), Integer.toString(i),i); System.out.println("Ad : " + i + " TC : " + i + " Maaş : " +i); writer.writeObject(calisan); } writer.close(); // Yazma işlemi kapatılmaldır. System.out.println("Serileştirme Testi Başarılı.\ntest.data oluşturuldu."); } catch (IOException e) { // ObjectOutputStream checked exception (IOException) olduğu için try-catch yapısı kullanılmalıdır. e.printStackTrace(); // Hatanın nerde olduğuna dair bilgiyi konsola yazar. } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Test Başlatıldı.. 10 çalışanın Bilgileri Şu Şekilde Ad : 0 TC : 0 Maaş : 0 Ad : 1 TC : 1 Maaş : 1 Ad : 2 TC : 2 Maaş : 2 Ad : 3 TC : 3 Maaş : 3 Ad : 4 TC : 4 Maaş : 4 Ad : 5 TC : 5 Maaş : 5 Ad : 6 TC : 6 Maaş : 6 Ad : 7 TC : 7 Maaş : 7 Ad : 8 TC : 8 Maaş : 8 Ad : 9 TC : 9 Maaş : 9 Serileştirme Testi Başarılı. test.data oluşturuldu. |
Dosyadan Okuma İşlemi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
public static void dosyadanOku() { try { // ObjectOutpuStream sınıfı java.io.ObjectInpput arayüzünü // gerçekleyen bir nesneyle kurulabilir. ObjectInputStream reader = new ObjectInputStream( new FileInputStream("test.data")); // test.data dosyası // proje klasöründen // okunacaktır. çünkü // tam yol belirtilmedi. int calisanSayisi = (int) reader.readObject(); // Calışan sayısı // okunuyor. System.out.println(calisanSayisi + " çalışanın Bilgileri Şu Şekilde"); Calisan[] calisanlar = new Calisan[calisanSayisi]; // Calisan Sayısı // kullanarak // calisanların // bir diziye // alınması // sağlanacak. for (int i = 0; i < calisanSayisi; i++) { // Calisan sayisi kadar // çalışan test.data'dan // okunuyor. calisanlar[i] = (Calisan) reader.readObject(); // Okunan ve artık kullanılabilir nesne olan calisanın bilgileri // yazdırılıyor. System.out.println("Ad : " + calisanlar[i].getAd() + " TC : " + calisanlar[i].getTc() + " Maaş : " + calisanlar[i].getMaas()); } reader.close(); System.out .println("Okuma Testi Başarılı.\ntest.data okunması tamamlandı."); } catch (IOException e) { // ObjectInputStream checked exception // (IOException) olduğu için try-catch // yapısı kullanılmalıdır. e.printStackTrace(); // Hatanın nerde olduğuna dair bilgiyi konsola // yazar. } catch (ClassNotFoundException e) { // Tip dönüşümü (Cast etme işlemi) // yapılırken sınıfı bulamazsa // bu exception fırlatılır. e.printStackTrace(); } } |
Konsol Çıktısı :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Test Başlatıldı.. 10 çalışanın Bilgileri Şu Şekilde Ad : 0 TC : 0 Maaş : 0 Ad : 1 TC : 1 Maaş : 1 Ad : 2 TC : 2 Maaş : 2 Ad : 3 TC : 3 Maaş : 3 Ad : 4 TC : 4 Maaş : 4 Ad : 5 TC : 5 Maaş : 5 Ad : 6 TC : 6 Maaş : 6 Ad : 7 TC : 7 Maaş : 7 Ad : 8 TC : 8 Maaş : 8 Ad : 9 TC : 9 Maaş : 9 Okuma Testi Başarılı. test.data okunması tamamlandı. |