版权声明 iii
引言 v
第 1章 入门介绍 1
1.1 目标读者 1
1.2 如何使用本书 1
1.3 搭建环境 3
1.3.1 安装Java 3
1.3.2 集成开发环境 3
第 2章Java虚拟机 5
2.1 何为Java虚拟机 5
2.2 JVM版本 5
2.3 JVM种类 7
第3章 构建工具 9
3.1 Ant 11
3.1.1 构建文件 11
3.1.2 使用Ivy管理依赖 14
3.1.3 小结 15
3.2 Maven 16
3.2.1 Maven任务 16
3.2.2 项目对象模型文件 17
3.2.3 插件 18
3.2.4 仓库和发布 19
3.2.5 小结 20
3.3 Gradle 21
3.3.1 构建文件 21
3.3.2 任务 22
3.3.3 依赖管理 23
3.3.4 Gradle守护进程 24
3.3.5 小结 25
3.4 参考资源 25
3.4.1 Ant 25
3.4.2 Maven 25
3.4.3 Gradle 25
第4章 测试 27
4.1 向IScream应用程序添加服务 27
4.2 编写测试 30
4.2.1 JUnit 30
4.2.2 TestNG 31
4.3 运行测试 33
4.4 使用测试替身 34
4.4.1 为可模拟服务修改IScream 34
4.4.2 使用Mocks创建测试 35
4.4.3 EasyMock 36
4.4.4 Mockito 37
4.4.5 PowerMock 39
4.5 小结 40
4.6 参考资源 40
4.6.1 综合测试 40
4.6.2 测试框架相关 41
第5章 Spring 43
5.1 Spring Core 43
5.1.1 依赖注入 43
5.1.2 属性 49
5.2 Spring Boot 51
5.2.1 运行Spring Boot应用程序 51
5.2.2 配置 52
5.3 小结 53
5.4 参考资源 53
第6章 Web应用程序框架 55
6.1 Java EE Web API 56
6.1.1 请求和响应 56
6.1.2 JavaServer Pages 56
6.1.3 servlet容器 56
6.2 Spring MVC 57
6.2.1 模型 57
6.2.2 视图 59
6.2.3 控制器 60
6.2.4 配置 61
6.3 Spring Boot 64
6.3.1 Thymeleaf 64
6.3.2 运行Spring Boot Web应用程序 65
6.4 JavaServer Faces 65
6.4.1 托管Bean 66
6.4.2 JSF 视图 69
6.5 Vaadin 70
6.5.1 布局和组件 70
6.5.2 Vaadin UI 72
6.5.3 主题 73
6.5.4 运行应程序 73
6.6 小结 74
6.7 参考资源 74
第7章 Web应用程序部署 75
7.1 打包 75
7.2 部署 77
7.3 参考资源 79
第8章 使用数据库 81
8.1 Java数据库连接 81
8.2 Spring JDBC模板 82
8.2.1 IScream新数据模型 83
8.2.2 查询数据 86
8.2.3 写数据 87
8.3 MyBatis 90
8.3.1 查询数据 90
8.3.2 写数据 93
8.3.3 动态SQL 95
8.4 Hibernate 96
8.4.1 领域POJO调整 96
8.4.2 JPA注解 97
8.4.3 XML映射 98
8.4.4 写数据 100
8.4.5 读数据 101
8.5 小结 102
8.6 参考资源 103
第9章 日志 105
9.1 java.util.Logging 105
9.2 Log4j 107
9.3 Logback 111
9.4 SLF4J 112
9.5 JCL 114
9.6 小结 115
9.7 参考资源 115
第 10章 有用的第三方库 117
10.1 JSON支持 117
10.1.1 Google Gson 117
10.1.2 Jackson 119
10.2 实用工具库 121
10.2.1 Guava 121
10.2.2 Apache Commons 123
10.2.3 Joda Time库 126
10.3 小结 127
10.4 参考资源 127
附录A Docker 129
A.1 创建Docker镜像 129
A.2 部署Docker容器 130
A.3 注意事项 131
A.3.1 内存 131
A.3.2 JDK 131
A.4 参考资源 131