Skip to content

22. Додатки

Тут ми розповідаємо, як встановити інструменти, що використовуються в цьому документі, на комп’ютерах із Windows 7 або 8. На знімках екрана, як правило, показано 64-бітні версії SGBD та встановлених інструментів. Читач повинен адаптувати інструкції до свого середовища.

22.1. Встановлення JDK

У URL міститься [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (жовтень 2014 р.), найновіша версія — JDK. Надалі папку з інсталяцією JDK будемо називати <jdk-install>.

 

22.2. Встановлення Maven

Maven — це інструмент для управління залежностями Java-проекту та багато іншого. Станом на жовтень 2014 року він доступний у URL та [http://maven.apache.org/download.cgi].

 

Завантажте та розпакуйте архів. Папку, в якій буде встановлено Maven, ми назвемо <maven-install>.

  • У файлі [1] файл [conf / settings.xml] налаштовує Maven;

У ньому містяться такі рядки:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
-->

Значення за замовчуванням у рядку 4 може спричинити проблеми для деяких програм, що використовують Maven, якщо, як у моєму випадку, ваш {user.home} містить пробіл у шляху (наприклад, [C:\Users\Serge Tahé]). У рядку 7 ми вкажемо іншу папку для локального сховища Maven:


  <!-- 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>

У рядку 7 слід уникати шляху, що містить пробіли.

22.3. Встановлення STS (Spring Tool Suite)

Ми встановимо SpringSource Tool Suite [http://www.springsource.com/developer/sts] (жовтень 2014 р.) — це Eclipse, попередньо оснащений численними плагінами, пов’язаними з фреймворком Spring, а також із попередньо встановленою конфігурацією Maven.

  • перейдіть на сайт SpringSource Tool Suite (STS) [1], щоб завантажити поточну версію STS [2A] [2B],
  • завантажений файл є інсталятором, який створює структуру файлів [3A] [3B]. У [4] запускається виконуваний файл,
  • у [5] — робоче вікно IDE після закриття вікна привітання. У [6] відображається вікно серверів додатків,
  • у [7] — вікно серверів. Сервер зареєстровано. Це сервер VMware, сумісний із Tomcat.

Необхідно вказати в STS папку встановлення Maven:

  • у [1-2] налаштовуємо STS;
  • у [3-4] додається нова інсталяція Maven;
  • у [5] вказуємо папку встановлення Maven;
  • у [6] завершуємо роботу майстра;
  • у [7] нову інсталяцію Maven встановлюємо як інсталяцію за замовчуванням;
  • у [8-9] перевіряється локальне сховище Maven — папка, куди будуть завантажуватися залежності, а також куди STS розміщуватиме створені артефакти;

Також потрібно вибрати JDK (Java Development Kit) для виконання як проектів Eclipse без Maven, так і з ним [1-5].

За допомогою [4] можна додати JDK (Java Development Kit) або JRE (Java Runtime Environment). Останній вміє виконувати файли .class, але не вміє компілювати файли .java для їх створення. JDK може виконувати обидві ці операції. Ми оберемо JDK, оскільки для деяких операцій Maven потрібний JDK.

Щоб створити проект Eclipse, слід виконати такі дії:

  • у [3], вкажіть назву проєкту;
  • у [4] вкажіть існуючу порожню папку;
  • у [5] — створений проект;
  • у [5-8] створіть пакет. Пакет — це папка, що містить код Java. Два класи можуть мати однакову назву, якщо вони належать до різних пакетів. У проекті не може бути двох пакетів з однаковою назвою. Отже, не можна використовувати назву пакета, яка вже існує в одній із залежностей проекту. Компанія використовуватиме як ім’я пакета назву, що вказує на компанію, проєкт та його різні гілки;
  • у [9] вкажіть ім'я пакета;
  • у [10] — створений пакет;
  • у [11-13] створюється клас у створеному пакеті;
  • у [14], вкажіть ім'я класу (воно має відповідати стандарту CamelCase — кожне слово в імені має починатися з великої літери, а решта літер — бути малими);
  • у [15] перевірте пакет;
  • у [16] поставте галочку. Це вимагає, щоб був згенерований статичний метод [main]. Цей метод робить клас виконуваним, тобто першим класом, що виконується в проєкті;
  • у [17] — так створений клас;

Введіть у метод [main] наступний код, який виводить текст у консоль:


package st.istia;

public class Test01 {

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

}
  • у [18-20] запустіть клас. Тоді буде виконано його метод [main];
  • в [21-22] — результат виконання;

Якщо подання [Console] відсутнє, виконайте такі дії для [1-4]:

Під час імпортування проекту Eclipse можуть виникнути помилки. Це може бути пов’язано з неправильною конфігурацією проекту. Щоб виправити помилку (якщо вона є), виконайте такі дії:

  • у файлі [1] змініть файл [Build Path] проекту;
  • на [2] — проект налаштований на використання JVM 1.5;
  • на [3], видаліть цю залежність;
  • у [4] додайте нову залежність;
  • у [5] додайте JVM;
  • у [6] виберіть JVM з позиції;

Після цього підтверджуємо всі зміни, а потім переходимо до властивості [Java compiler] проекту [7]:

  • у [8] задаємо компілятору прийняти всі особливості мови Java аж до версії 1.7 (або 1.8) включно;
  • у [9] виконується перевірка;
  • у [10] переконфігурований таким чином проєкт більше не повинен містити помилок;

Крім того, імпортований проєкт може використовувати кодування символів UTF-8. Щоб встановити це кодування в імпортованому проєкті [1-4], виконайте такі дії:

Крім того, може бути корисно вимкнути перевірку орфографії в проєкті, щоб коментарі французькою мовою не підкреслювалися як помилкові. Виконайте наведені нижче кроки [1-4]:

22.4. Встановлення IDE NetBeans

NetBeans доступний за посиланням URL [http://netbeans.org/downloads/].

 

З-поміж наведених вище можна вибрати версію Java SE (Standard Edition).

22.5. Встановлення розширення для Chrome [Advanced Rest Client]

У цьому документі використовується браузер Chrome від Google (http://www.google.fr/intl/fr/chrome/browser/). До нього буде додано розширення [Advanced Rest Client]. Для цього слід виконати такі дії:

 
  • після чого додаток стане доступним для завантаження:
  • щоб завантажити його, вам потрібно створити обліковий запис Google. [Google Web Store] потім вимагає підтвердження [1]:
  • У [2] доданий розширення доступний у меню [Applications] [3]. Цей пункт меню відображається на кожній новій вкладці, яку ви створюєте (CTRL-T) у браузері.

22.6. Робота з jSON у Java

У спосіб, цілком прозо для розробника, фреймворк [Spring MVC] використовує бібліотеку jSON [Jackson]. Щоб проілюструвати, що таке jSON (JavaScript Object Notation), ми наводимо тут програму, яка серіалізує об’єкти у формат jSON та виконує зворотну операцію — десеріалізує отримані рядки jSON для відтворення вихідних об’єктів.

Бібліотека «Jackson» дозволяє побудувати:

  • рядок jSON для об’єкта: new ObjectMapper().writeValueAsString(object);
  • об’єкт із рядка jSON: new ObjectMapper().readValue(jsonString, Object.class).

Обидва методи можуть запустити IOException. Ось приклад.

Вищезазначений проєкт — це проєкт Maven із таким файлом [pom.xml]:


<?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: залежність, яка завантажує бібліотеку «Jackson»;

Клас [Personne] має такий вигляд:


package istia.st.json;

public class Personne {
    // дані
    private String nom;
    private String prenom;
    private int age;

    // виробники
    public Personne() {

    }

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

    // підпис
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }

    // методи getter та setter
...
}

Клас [Main] має такий вигляд:


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 {
  // інструмент серіалізації/десеріалізації
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // створення особи
    Personne paul = new Personne("Denis", "Paul", 40);
    // відображення jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // інстанціювання об'єкта «Особа» на основі JSON
    Personne p = mapper.readValue(json, Personne.class);
    // відображення особи
    System.out.println("Personne=" + p);
    // масив
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // відображення JSON
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // словник
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // виведення JSON
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Виконання цього класу призводить до виведення на екран наступного:

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}}

З цього прикладу слід звернути увагу на:

  • об’єкт [ObjectMapper], необхідний для перетворень jSON / Object: рядок 11;
  • перетворення [Personne] --> jSON: рядок 17;
  • перетворення jSON --> [Personne]: рядок 20;
  • виняток [IOException], викликаний обома методами: рядок 13.

22.7. Встановлення [WampServer]

[WampServer] — це набір програм для розробки на PHP / MySQL / Apache на комп’ютері з ОС Windows. Ми будемо використовувати його виключно для SGBD та MySQL.

  • на сайті [WampServer] [1] виберіть відповідну версію [2],
  • завантажений виконуваний файл є інсталятором. Під час інсталяції запитується різноманітна інформація. Вона не стосується MySQL. Тому її можна проігнорувати. Після завершення встановлення з’явиться вікно [3]. Запустіть [WampServer],
  • у [4], іконка [WampServer] встановлюється на панелі завдань у нижньому правому куті екрана [4],
  • при натисканні на неї з’являється меню [5]. Воно дозволяє керувати сервером Apache та SGBD MySQL. Для управління ним використовується опція [PhpPmyAdmin],
  • після чого з’являється вікно, показане нижче,

Image

Ми не будемо детально зупинятися на використанні [PhpMyAdmin]. У розділі 6.4.2 ми покажемо, як використовувати його для створення бази даних на основі скрипта SQL.