Skip to content

9. 附录

本文将介绍如何在 Windows 7 或 8 系统上安装本文档中使用的工具。

9.1. 安装 JDK

最新版本的 JDK 可通过以下网址获取:[http://www.oracle.com/technetwork/java/javase/downloads/index.html](2014 年 10 月)。下文将把 JDK 安装文件夹简称为 <jdk-install>。

 

9.2. 安装 Maven

Maven 是一款用于管理 Java 项目依赖关系及其他功能的工具。您可以在 [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 行中的默认值,如果像我一样,你的 {user.home} 路径中包含空格(例如 [C:\Users\Serge Tahé]),可能会导致某些软件(包括 IntelliJ IDEA)出现问题。此时,你应该这样写:


  <!-- 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 行,请避免使用包含空格的路径。

9.3. 安装 STS(Spring Tool Suite)

我们将安装 SpringSource Tool Suite [http://www.springsource.com/developer/sts],这是一个预配置了大量与 Spring 框架相关插件的 Eclipse 环境,并且已预装了 Maven 配置。

  • 请访问 SpringSource Tool Suite (STS) 网站 [1],下载 STS 的最新版本 [2A] [2B]。
  • 下载的文件是一个安装程序,它会创建文件目录结构 [3A] [3B]。在 [4] 中,我们启动可执行文件,
  • 在[5]中,关闭欢迎窗口后显示的IDE工作区窗口。在[6]中,显示应用服务器窗口,
  • 在 [7] 中,显示服务器窗口。已注册一台服务器。这是一台兼容 Tomcat 的 VMware 服务器。

您必须向 STS 指定 Maven 的安装目录:

  • 在 [1-2] 中,配置 STS;
  • 在 [3-4] 中,添加一个新的 Maven 安装;
  • 在 [5] 中,指定 Maven 安装目录;
  • 在 [6] 中,完成向导;
  • 在 [7] 中,将新安装的 Maven 设为默认;
  • 在 [8-9] 中,验证本地 Maven 仓库——即用于存储下载的依赖项以及 STS 放置构建成果的文件夹;

9.4. 安装 Tomcat 服务器

Tomcat 服务器可在 URL [http://tomcat.apache.org/download-80.cgi] 获取。本文中的示例已在版本 8.0.9 上经过测试,该版本可在 URL [http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/] 获取。

请下载 [1] 适合您工作站的 ZIP 文件。解压后,您将看到如下目录结构 [2]。完成上述操作后,即可将此服务器添加到 STS 服务器中:

  • 在 [1-3] 中,在 STS 中添加一个新服务器;(要打开“服务器”窗口,请依次选择“窗口”/“显示视图”/“其他”/“服务器”/“服务器”);
  • 在 [5] 中,选择一个 Tomcat 8 服务器;
  • 在 [6] 中,为该服务器命名;
  • 在 [8] 中,指定先前下载的 Tomcat 的安装目录;
  • 在 [9] 中,选择新服务器;
  • 在[11-12]中,启动Tomcat 8服务器;
  • 在 [13-14] 中,其日志窗口;
  • 在 [15] 中,停止服务器;

9.5. 安装 [WampServer]

[WampServer]即 ,这是一款用于在Windows系统上使用PHP、MySQL和Apache进行开发的软件套件。我们将仅将其用于MySQL数据库管理系统。

  • 在 [WampServer] 网站 [1] 上,选择合适的版本 [2]。
  • 下载的可执行文件是一个安装程序。安装过程中会要求提供各种信息。这些信息与 MySQL 无关,因此您可以忽略它们。安装结束时会出现窗口 [3]。启动 [WampServer],
  • 在 [4] 中,[WampServer] 图标会出现在屏幕右下角的任务栏中 [4],
  • 点击它后,会出现 [5] 菜单。该菜单允许您管理 Apache 服务器和 MySQL 数据库管理系统。要管理后者,请使用 [PhpMyAdmin] 选项,
  • 这将打开如下所示的窗口,

Image

本文将简要介绍 [PhpMyAdmin] 的使用方法。如有需要,文档中提供了相关信息。

9.6. 安装 Chrome 插件 [Advanced Rest Client]

本文档使用谷歌的 Chrome 浏览器(http://www.google.fr/intl/fr/chrome/browser/)。我们将为其添加 [Advanced Rest Client] 扩展程序。操作步骤如下:

 
  • 随后即可下载该应用:
  • 要获取该应用,您需要创建一个 Google 账户。随后 [Google 应用商店] 会要求您进行确认 [1]:
  • 在[2]处,已添加的扩展程序可在[应用程序]选项[3]中找到。该选项会显示在您通过浏览器(CTRL-T)新建的每个新标签页中。

9.7. Java 中的 JSON 管理

对开发者而言,[Spring MVC] 框架会透明地使用 [Jackson] JSON 库。为说明 JSON(JavaScript 对象表示法)的含义,我们在此展示一个程序,该程序将对象序列化为 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' 库的依赖项;

[Person] 类如下:


package istia.st.json;
 
public class Personne {
    // data
    private String nom;
    private String prenom;
    private int age;
 
    // manufacturers
    public Personne() {
 
    }
 
    public Personne(String nom, String prénom, int âge) {
        this.nom = nom;
        this.prenom = prénom;
        this.age = âge;
    }
 
    // signature
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }
 
    // getters and setters
...
}

[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 {
  // the serialization / deserialization tool
  static ObjectMapper mapper = new ObjectMapper();
 
  public static void main(String[] args) throws IOException {
    // creation of a person
    Personne paul = new Personne("Denis", "Paul", 40);
    // display jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // person instantiation from Json
    Personne p = mapper.readValue(json, Personne.class);
    // person display
    System.out.println("Personne=" + p);
    // a picture
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // json display
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // dictionary
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // json display
    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}}

示例要点:

  • 用于 JSON/对象转换所需的 [ObjectMapper] 对象:第 11 行;
  • [Person] 到 JSON 的转换:第 17 行;
  • JSON 转 [Person] 的转换:第 20 行;
  • 两个方法均抛出的 [IOException]:第 13 行。

9.8. 安装 [WebStorm]

[WebStorm] (WS) 是 JetBrains 开发 HTML/CSS/JS 应用程序的集成开发环境 (IDE)。我发现它非常适合开发 Angular 应用程序。下载地址为 [http://www.jetbrains.com/webstorm/download/]。这是一款付费 IDE,但提供 30 天的试用版供下载。此外还有价格实惠的个人版和学生版。

为了在应用程序中安装 JS 库,WS 使用了一个名为 [Bower] 的工具。该工具是 [Node.js] 的一个模块,而 Node.js 是一组 JS 库的集合。此外,JS 库是从 Git 仓库中获取的,因此需要在执行下载的机器上安装 Git 客户端。

9.8.1. 安装 [node.js]

[Node.js] 的下载地址为 [http://nodejs.org/]。下载安装程序并运行即可。目前只需完成这一步。

9.8.2. 安装 [bower] 工具

[bower] 工具可用于下载 JavaScript 库,有多种安装方式。我们将通过命令行进行安装:


C:\Users\Serge Tahé>npm install -g bower
C:\Users\Serge Tahé\AppData\Roaming\npm\bower -> C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower\bin\bower
bower@1.3.7 C:\Users\Serge Tahé\AppData\Roaming\npm\node_modules\bower
├── stringify-object@0.2.1
├── is-root@0.1.0
├── junk@0.3.0
...
├── insight@0.3.1 (object-assign@0.1.2, async@0.2.10, lodash.debounce@2.4.1, req
uest@2.27.0, configstore@0.2.3, inquirer@0.4.1)
├── mout@0.9.1
└── inquirer@0.5.1 (readline2@0.1.0, mute-stream@0.0.4, through@2.3.4, async@0.8
.0, lodash@2.4.1, cli-color@0.3.2)
  • 第 1 行:用于安装 [bower] 模块的 [node.js] 命令。要使该命令生效,[npm] 可执行文件必须位于计算机的 PATH 环境变量中(参见下文);

9.8.3. 安装 [Git]

Git 是一个软件版本控制系统。有一个名为 [msysgit] 的 Windows 版本,可在 URL [http://msysgit.github.io/] 获取。我们不会使用 [msysgit] 来管理应用程序的版本,而是仅用于下载 [https://github.com] 等网站上的 JS 库,这些库需要 [msysgit] 客户端提供的特殊访问协议

安装向导包含以下几个步骤:

对于其余的安装步骤,您可以接受系统提供的默认值。

Git 安装完成后,请确认其可执行文件已添加到计算机的 PATH 环境变量中:[控制面板 / 系统和安全 / 系统 / 高级系统设置]:

PATH 变量如下所示:


D:\Programs\devjava\java\jdk1.7.0\bin;D:\Programs\ActivePerl\Perl64\site\bin;D:\Programs\ActivePerl\Perl64\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\client\bin;D:\Programs\sgbd\OracleXE\app\oracle\product\11.2.0\server\bin;...;D:\Programs\javascript\node.js\;D:\Programs\utilitaires\Git\cmd

请确认:

  • [node.js] 安装文件夹的路径是否存在(此处为 D:\Programs\javascript\node.js);
  • Git 客户端可执行文件的路径是否存在(此处为 D:\Program Files\Utilities\Git\cmd);

9.8.4. 配置 [WebStorm]

现在让我们检查 [WebStorm] 的配置

在上图中,选择选项 [1]。已安装的 [node.js] 模块列表将显示在 [2] 中。如果您按照之前的安装步骤操作,该列表中应仅包含 [bower] 模块的 [3] 行。

9.9. 安装 Android 模拟器

Android SDK 随附的模拟器运行缓慢,因此不建议使用。公司 [Genymotion] 提供了一款功能更强大的模拟器。可通过以下网址获取:[https://cloud.genymotion.com/page/launchpad/download/]

(2014年2月)。

您需要注册才能获取个人版。请下载包含 VirtualBox 虚拟机的 [Genymotion] 产品;

Image

安装并启动 [Genymotion]。接下来,下载平板电脑或手机的镜像:

  • 在 [1] 中,添加一个虚拟设备;
  • 在 [2] 中,选择一个或多个设备进行安装。您可以通过指定所需的 Android 版本 [3] 和设备型号 [4] 来筛选显示的列表;
  • 下载完成后,您将在 [5] 处看到可用于测试 Android 应用的虚拟设备列表;