Skip to content

23. Ekler

Bu belgede kullanılan araçların Windows 7 veya 8 işletim sistemli bilgisayarlara nasıl kurulacağını burada açıklıyoruz. Ekran görüntülerinde genellikle SGBD ve kurulu araçların 64 bit sürümleri gösterilmektedir. Okuyucu, kendi ortamına göre gerekli ayarlamaları yapmalıdır.

23.1. JDK Kurulumu

URL'te, [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (Ekim 2014) ve en güncel sürüm olan JDK bulunur. Bundan sonra, JDK'in kurulum klasörüne <jdk-install> adı verilecektir.

 

23.2. Maven'ın Kurulumu

Maven, bir Java projesinin bağımlılıklarını yönetmeye yarayan bir araçtır ve daha fazlasını da sunar. Ekim 2014 itibarıyla URL ve [http://maven.apache.org/download.cgi] adreslerinde mevcuttur.

 

Arşivi indirin ve açın. Maven'ın kurulum klasörüne <maven-install> adını vereceğiz.

  • [1] dosyasında, [conf / settings.xml] dosyası Maven'ı yapılandırır;

Bu dosyada şu satırlar bulunur:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
-->
  1. satırdaki varsayılan değer, benimki gibi {user.home} dosyanızın yolunda boşluk varsa (örneğin [C:\Users\Serge Tahé]), Maven kullanan bazı yazılımlar için sorun yaratabilir. 7. satırda, Maven'ın yerel deposu için başka bir klasör belirleyeceğiz:

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>
  1. satırda, boşluk içeren bir yol kullanmaktan kaçınmalıyız.

23.3. STS (Spring Tool Suite) Kurulumu

SpringSource Tool Suite [http://www.springsource.com/developer/sts]'i (Ekim 2014) kuracağız; bu, Spring çerçevesiyle ilgili birçok eklentiyle önceden donatılmış ve ayrıca önceden yüklenmiş bir Maven yapılandırmasına sahip bir Eclipse sürümüdür.

  • SpringSource Tool Suite (STS) [1] adresine gidin ve STS [2A] [2B] sürümlerini indirin,
  • İndirilen dosya, [3A] ve [3B] dosya dizinini oluşturan bir yükleyicidir. [4]'te yürütülebilir dosya çalıştırılır,
  • [5]'te, karşılama penceresi kapatıldıktan sonra IDE'in çalışma penceresi görüntülenir. [6]'te, uygulama sunucuları penceresi görüntülenir,
  • [7]'te sunucu penceresi görüntülenir. Bir sunucu kaydedilir. Bu, Tomcat uyumlu bir VMware sunucusudur.

STS'e Maven'ın kurulum klasörünü belirtmek gerekir:

  • [1-2]'te, STS yapılandırılır;
  • [3-4]'te yeni bir Maven kurulumu eklenir;
  • [5]'te, Maven kurulum klasörünü belirtin;
  • [6]'te, sihirbazı tamamlayın;
  • [7]'te, yeni Maven kurulumunu varsayılan kurulum olarak ayarlayın;
  • [8-9]'te, Maven'ın yerel deposu kontrol edilir; bu, indirilecek bağımlılıkların yerleştirileceği ve STS'in oluşturulacak artefaktları yerleştireceği klasördür;

Ayrıca, hem Maven [1-5] ile hem de Maven olmadan Eclipse projelerini çalıştırmak için bir JDK (Java Development Kit) seçmeniz gerekir.

[4] ile JDK (Java Development Kit) veya JRE (Java Runtime Environment) eklenebilir. İkincisi, .class dosyalarını çalıştırabilir ancak bunları üretmek için .java dosyalarını derleyemez. JDK ise her ikisini de yapabilir. Bazı Maven işlemleri JDK gerektirdiği için JDK seçilmelidir.

Bir Eclipse projesi oluşturmak için aşağıdaki adımları izleyin:

  • [3]'te projeye bir ad verin;
  • [4] adımında, mevcut ve boş bir klasör seçin;
  • [5] adımında, oluşturulan projeyi seçin;
  • [5-8] adımında, bir paket oluşturun. Paket, Java kodunu içeren bir klasördür. Farklı paketlere ait oldukları takdirde iki sınıf aynı adı taşıyabilir. Bir projede aynı ada sahip iki paket bulunamaz. Dolayısıyla, projenin bağımlılıklarından birinde mevcut olan bir paket adı kullanılamaz. Bir şirket, paket adı olarak şirketi, projeyi ve projenin farklı dallarını belirten bir ad kullanır;
  • [9]'te, pakete bir ad verin;
  • [10], oluşturulan paket;
  • [11-13]'te, oluşturulan pakette bir sınıf oluşturulur;
  • [14]'te, sınıfa bir ad verin (CamelCase standardına uymalıdır - adın her kelimesi büyük harfle başlayıp küçük harflerle devam etmelidir);
  • [15]'te paketi kontrol edin;
  • [16]'te, kutucuğu işaretleyin. Bu, [main] statik yönteminin oluşturulmasını gerektirir. Bu yöntem, bir sınıfı çalıştırılabilir hale getirir, yani bir projede çalıştırılacak ilk sınıf olur;
  • [17]'te, bu şekilde oluşturulan sınıf;

[main] yöntemine, konsolda bir metin görüntüleyen aşağıdaki kodu yazın:


package st.istia;

public class Test01 {

    public static void main(String[] args) {
        System.out.println("test01");
    }

}
  • [18-20]'te sınıfı çalıştırın. Böylece [main] yöntemi çalıştırılacaktır;
  • [21-22]'te, uygulamanın sonucu;

[Console] görünümü mevcut değilse, [1-4] için şu adımları izleyin:

Bir Eclipse projesini içe aktarırken projede hatalar ortaya çıkabilir. Bunun nedeni, projenin yanlış yapılandırılmış olması olabilir. Hatayı (varsa) düzeltmek için şu adımları izleyin:

  • [1] dosyasında, projenin [Build Path] dosyasını değiştirin;
  • [2] olarak değiştirin; proje, JVM 1.5 sürümünü kullanacak şekilde yapılandırılmıştır;
  • [3] olarak değiştirin, bu bağımlılığı silin;
  • [4]'te, yeni bir bağımlılık ekleyin;
  • [5]'te, bir JVM eklenir;
  • [6]'te, öğenin JVM'i seçin;

Bu işlem tamamlandıktan sonra, tümünü onaylayıp [7] projesinin [Java compiler] özelliğine geçilir:

  • [8]'te, derleyiciye Java dilinin 1.7 (veya 1.8) sürümüne kadar olan tüm özelliklerini kabul etmesini talep ediyoruz;
  • [9]'te onay verilir;
  • [10]'te, bu şekilde yeniden yapılandırılan projede artık hata olmamalıdır;

Ayrıca, içe aktarılan proje UTF-8 karakter kodlamasını kullanabilir. İçe aktarılan projede bu kodlamayı ayarlamak için şu adımları izleyin:

Ayrıca, Fransızca yorumların hatalı olarak altı çizilmesini önlemek için projede yazım denetimini devre dışı bırakmak faydalı olabilir. Aşağıdaki adımları izleyin:

23.4. SGBD MySQL5 Community Edition'ın kurulumu

SGBD MySQL5 Community Edition (Haziran 2015), URL [https://dev.mysql.com/downloads/mysql/] adresinde bulunabilir:

 

Kurulum şu şekilde gerçekleştirilir:

  • [8]'te [root] şifresi kullanılmıştır. Bu belgede, SGBD ve MySQL'in yönetici kimlik bilgileri [root / root]'tir;

MySQL 5 kurulduktan sonra, Windows hizmet yönetimi sayfasını görüntüleyin:

  • [1]: sol alt köşedeki Windows simgesi;
  • [8]'te, [MySQL56] hizmetini gereksiz yere kaynak tüketmemesi için manuel başlatma olarak ayarlayın. İhtiyacınız olduğunda her seferinde hizmetler sayfasından bu hizmeti başlatabilirsiniz;

23.5. EMS ve MyManager'in kurulumu

[http://www.sqlmanager.net/en/] sitesi, altı tür SGBD'i yönetmek için ücretsiz istemciler sunar:

 

Bunun avantajı, hepsinin SGBD'leri yönetmek için aynı arayüze sahip olmasıdır. Bu, altı SGBD'i yönetmek istediğimiz bu belge için idealdir. SGBD değiştirildiğinde yeni bir istemciyi öğrenmeye gerek kalmaz. Hepsini URL ve [http://www.sqlmanager.net/download/] adreslerinde bulabilirsiniz. lite olarak adlandırılan ücretsiz sürümleri indireceğiz:

 
 

İndirilebilir URL sürümleri şu anda (Mayıs 2015) şunlardır:

MySQL5
IBM DB2
Firebird / Interbase
Oracle
Microsoft SQL Server
PostgreSQL

Örneğin, MySQL5 istemcisini MyManager olarak kurduğunuzda, aşağıdaki dizin yapısı elde edilir:

  • yürütülebilir dosya [2]'tedir;
  • [3-8] adımları, [MyManager]'i MySQL'in veritabanlarından birine nasıl bağlayacağınızı gösterir;
  • [4]'te şifre [root]'tir;

23.6. SGBD Oracle Database Express Edition 11g Release 2'nin kurulumu

SGBD Oracle Database Express Edition 11g Sürüm 2, URL (Haziran 2015) sürümünde mevcuttur: [http://www.oracle.com/technetwork/database/database-techno logies/express-edition/downloads/index.html]:

 

Kurulum şu şekilde gerçekleştirilir:

  • [6]'te, [system] şifresini girin. Bu belgede, Oracle yöneticisinin kimlik bilgileri [system / system]'tir;

Kurulum, Oracle'ı bir Windows hizmeti olarak yükler. Varsayılan olarak hepsi otomatik başlatma modunda olan birkaç hizmet yüklenir. Yapılması gereken ilk şey, bunları manuel moda geçirmektir:

İki hizmetin başlatılması gerekir:

  • [OracleXETNSListener], 1521 numaralı bağlantı noktasında SGBD'e yapılan istekleri dinler;
  • [OracleServiceXE], SGBD'tir;

Oracle'ı yönetmek için [OraManager] istemcisini kullanacağız (paragraf 23.5). Bu istemciyi kullanabilmek için öncelikle URL (Haziran 2015) sürümünde bulunan [Oracle Database Express Edition 11g Release 2 Client] paketini yüklemeniz gerekir: [http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html]. [OraManager] bir 32 bit istemci olduğu için 32 bit sürümünü indirmeniz gerekir:

 

Bu paketin kurulumu şu şekilde yapılır:

  • [3]'te, <oracleXE-install>\app\oracle\product\11.2.0\client_1 klasörünü belirtin; burada <oracleXE-install>, Oracle Express'i kurduğunuz klasördür;

Şimdi, [OraManager] istemcisini SGBD Oracle'a bağlayalım:

  • [2]'te grup adı serbesttir;
  • [4]'e, mutlaka XE yazılmalıdır;
  • [5]'te takma ad serbesttir;
  • [6]'te, tanımlayıcılar [system / system]'tir;

23.7. SGBD PostgreSQL 9.4'ün kurulumu

SGBD PostgreSQL 9.4, URL (Haziran 2015) sürümünde mevcuttur: [http://www.enterprisedb.com/products-services-training/pgdownload#windows]:

 

Kurulum şu şekilde gerçekleştirilir:

  • [4]'te şifre postgres'tir. Bu belgede, SGBD PostgreSQL yöneticisinin kimlik bilgileri [postgres / postgres]'tir;

Yükleme işlemi, PostgreSQL'i otomatik başlatmalı bir Windows hizmeti olarak kurar. Yapılması gereken ilk şey, bunu manuel moda geçirmektir:

Şimdi [PgManager] istemcisini (bkz. paragraf 23.5) SGBD ve PostgreSQL'e bağlayalım:

  • [2]'te kimlik numaraları [postgres / postgres];
  • [3]'te, [postgres] veritabanına bağlanılır;

23.8. SGBD DB2 Express'in kurulumu

SGBD DB2 Express, URL'te (Haziran 2015) mevcuttur: [http://www-01.ibm.com/software/data/db2/express-c/download.html]:

 

Kurulum şu şekilde gerçekleştirilir:

  • [9]'te şifre [db2admin]'tir. Bu belgede, SGBD'in yönetici kimlik bilgileri [db2admin / db2admin]'tir;
 

Not: Bu adımı atlamak cazip gelebilir. Ancak bunu yapmamalısınız. Bu adım, oluşturacağımız DB2 veritabanlarının depolanacağı klasörü oluşturacaktır.

  • [d:\DB2] klasörü oluşturuldu; [1];
  • [SAMPLE] veritabanı, [d:\db2\node0000] klasöründe oluşturuldu;

Yükleme işlemi, DB2'i otomatik başlatmalı bir Windows hizmeti olarak kurar. Yapmanız gereken ilk şey, bunu manuel moda geçirmektir:

Yukarıdaki tüm [DB2*] hizmetleri için bu işlemi gerçekleştirin. Bu belgenin amaçları doğrultusunda yalnızca [DB2 - DB2COPY1] hizmetinin başlatılması gerekmektedir.

Şimdi [Db2Manager] istemcisini (bkz. paragraf 23.5) SGBD ve DB2'e bağlayalım:

  • [1] yerine [db2admin / db2admin] tanımlayıcılarını kullanın;

23.9. SGBD SQL Server 2014 Express'in kurulumu

SGBD SQL Server 2014 Express, URL (Haziran 2015) sürümünde mevcuttur: [http://www.microsoft.com/fr-fr/server-cloud/products/sql-server/]:

 

Kurulum şu şekilde gerçekleştirilir:

 
 
 
 
 
  • [1] dosyasına herhangi bir şifre girin. Bunu daha sonra değiştireceğiz;
 
 

Ardından, SQL Sunucusu hizmetini başlatıyoruz:

Bu işlem tamamlandıktan sonra, SGBD ile birlikte kurulan [Microsoft SQL Server Management Studio] istemcisini başlatıyoruz (bkz. Başlat Menüsü):

Bu istemciyi SQL Sunucusunu yönetmek için kullanabiliriz. Ancak diğer SGBD istemcileriyle tutarlılık sağlamak amacıyla, [MsManager] istemcisini kullanacağız (bkz. paragraf 23.5).

  • [1]'te, SGBD adını not edin;
  • [2]'e, msde şifresini girdik. Bu belgede, SGBD yöneticisinin kimlik bilgileri [sa / msde]'tir;

Bu işlem tamamlandıktan sonra, SGBD ile birlikte kurulan [Gestionaire de configuration SQL Server] aracını başlatıyoruz (bkz. Başlat Menüsü):

  • Varsayılan olarak, [2]'te TCP/IP iletişimi etkin değildir. Bu belge için [3]'i etkinleştirmek gerekir;
  • [4]'te, yine bu belgenin gereklilikleri doğrultusunda, SGBD'in 1433 numaralı bağlantı noktasında istemcilerin isteklerini beklediğini belirtmek gerekir. [Ports TCP dynamiques]'in değeri boş bırakılmalıdır;

Bu işlem tamamlandıktan sonra, [MsManager] istemcisini başlatırız (bkz. paragraf 23.5):

  • [3]'te, [1]'te not ettiğiniz adı girin;
  • [4]'te kimlik bilgileri [sa / msde]'tir;
 

23.10. SGBD Firebird'ün kurulumu

SGBD Firebird 2.5.4, URL (Haziran 2015) sürümünde mevcuttur: [http://www.firebirdsql.org/en/firebird-2-5-4/]:

 

Kurulum şu şekilde gerçekleştirilir:

 

Bunu yaptıktan sonra, oluşturulan Windows hizmetinin başlatma modunu kontrol edelim:

Şimdi [IBManager] istemcisini (bkz. paragraf 23.5) kurulu olan SGBD Firebird'e bağlayalım:

  • [1]'te şifre masterkey'tir;

23.11. Chrome eklentisi [Advanced Rest Client]'in kurulumu

Bu belgede, Google’ın Chrome tarayıcısı (http://www.google.fr/intl/fr/chrome/browser/) kullanılmaktadır. Tarayıcıya [Advanced Rest Client] uzantısı eklenecektir. Bunun için şu adımları izleyebilirsiniz:

 
  • uygulama artık indirilmeye hazırdır:
  • Uygulamayı indirmek için bir Google hesabı oluşturmanız gerekecektir. [Google Web Store] daha sonra [1] için onay ister:
  • [2]'te, eklenen uzantı [Applications] [3] seçeneğinde kullanılabilir. Bu seçenek, tarayıcıda oluşturduğunuz her yeni sekmede (CTRL-T) görüntülenir.

23.12. Java'da jSON Yönetimi

Geliştirici için şeffaf bir şekilde, [Spring MVC] çerçeve yapısı jSON [Jackson] kütüphanesini kullanır. jSON (JavaScript Nesne Notasyonu) ne olduğunu açıklamak için, burada nesneleri jSON formatında serileştiren ve bunun tersini yaparak üretilen jSON dizelerini deserileştirip başlangıçtaki nesneleri yeniden oluşturan bir program sunuyoruz.

'Jackson' kütüphanesi, bir nesnenin

  • bir nesnenin jSON dizesini: new ObjectMapper().writeValueAsString(object);
  • bir jSON dizesinden bir nesne oluşturmak: new ObjectMapper().readValue(jsonString, Object.class).

Her iki yöntem de bir istisna oluşturabilir. İşte bir örnek.

  

Yukarıdaki proje, aşağıdaki [pom.xml] dosyasını içeren bir Maven projesidir;


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>istia.st.pam</groupId>
  <artifactId>json</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.3.3</version>
    </dependency>
  </dependencies>
</project>
  • 12-16. satırlar: 'Jackson' kütüphanesini getiren bağımlılık;

[Personne] sınıfı şöyledir:


package istia.st.json;

public class Personne {
    // veri
    private String nom;
    private String prenom;
    private int age;

    // üreticiler
    public Personne() {

    }

    public Personne(String nom, String prénom, int âge) {
        this.nom = nom;
        this.prenom = prénom;
        this.age = âge;
    }

    // imza
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }

    // alıcı ve ayarlayıcılar
...
}

[Main] sınıfı şöyledir:


package istia.st.json;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Main {
  // serileştirme / ters serileştirme aracı
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // kişi oluşturma
    Personne paul = new Personne("Denis", "Paul", 40);
    // görüntüleme jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // JSON'dan Kişi nesnesinin oluşturulması
    Personne p = mapper.readValue(json, Personne.class);
    // Kişi görüntüleme
    System.out.println("Personne=" + p);
    // bir dizi
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // JSON görüntüleme
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // sözlük
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // JSON'un görüntülenmesi
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Bu sınıfın çalıştırılması sonucunda ekranda şunlar görüntülenir:

1
2
3
4
Json={"nom":"Denis","prenom":"Paul","age":40}
Personne=Personne[Denis, Paul, 40]
Json personnes=[{"nom":"Denis","prenom":"Paul","age":40},{"nom":"Radot","prenom":"Virginie","age":20}]
Json hpersonnes={"2":{"nom":"Radot","prenom":"Virginie","age":20},"1":{"nom":"Denis","prenom":"Paul","age":40}}

Örnekten çıkarılacak sonuçlar:

  • jSON / Object dönüşümleri için gerekli olan [ObjectMapper] nesnesi: 11. satır;
  • [Personne] --> jSON dönüşümü: 17. satır;
  • jSON --> [Personne] dönüşümü: 20. satır;
  • her iki yöntem tarafından tetiklenen [IOException] istisnası: satır 13.