图书简介
本书主要介绍从程序员进阶到架构师需要具备的技能。书籍从架构师的独特角度讲解Java知识和技能企业级开发的经典示例,全程项目驱动,涵盖了电商支付接口的综合调试。近年来编程领域的知识愈加丰富,使广大程序员应接不暇。如何在有限的时间内高效学习是一个棘手的问题。如何能在短时间内达到架构师的水平?面对难以入手的知识,读者往往一头雾水,相信通过阅读本书,每位读者都能从中找到答案。
作者简介
王波,软件架构师。曾就职于中软国际。从业多年,成功地开发过基于通信、电商、数据管理等相关业务的项目,在Java Web领域拥有丰富的经验。擅长搭建以Struts、Spring框架为基础的项目架构、并且在此基础上选择合适的ORM框架。
本书目录
第1章 编程基础 1
• 1.1 程序员进阶 1
• 1.2 选择开发工具 3
• 1.3 安装JDK 5
• 1.4 安装Tomcat服务器 6
• 1.5 Hello World程序 8
• 1.6 小结 9
• 第2章 需求调研 10
• 2.1 搭建关系 10
• 2.2 正式立项 11
• 2.3 需求调研 11
• 2.4 输出文档 12
• 2.5 技术选型 16
• 2.6 数据流图 16
• 2.7 UML建模 16
• 2.8 项目开工会 17
• 2.9 小结 18
• 第3章 项目开发 19
• 3.1 定义范围和WBS分解 19
• 3.2企业管理系统框架搭建 20
• 3.3 Servlet方式开发 20
• 3.3.1 前端验证 22
• 3.3.2 后端验证 25
• 3.3.3 注册功能 28
• 3.3.4 综合调试 39
• 3.3.5 Servlet注解 43
• 3.4 不依赖框架的开发 45
• 3.4.1 销售数据导入报表 46
• 3.4.2 销售数据查询报表 53
• 3.5 月度版本 57
• 3.6 小结 57
• 第4章 项目部署 58
• 4.1 项目打包 58
• 4.2 项目发布 62
• 4.3 构建工具 63
• 4.3.1 Ant环境搭建 63
• 4.3.2 Ant经典实例 64
• 4.3.3Maven环境搭建 66
• 4.3.4 Maven经典实例 66
• 4.4 部署工具 70
• 4.4.1 mstsc 71
• 4.4.2 VMware 71
• 4.4.3 Xmanager 75
• 4.4.4 WinSCP 79
• 4.4.5 JD-GUI 80
• 4.5 小结 81
• 第5章 编程环境 82
• 5.1Linux系统介绍 82
• 5.2 Linux系统安装 83
• 5.3 Linux常用命令 84
• 5.3.1 基本命令 84
• 5.3.2 高级命令 90
• 5.3.3 部署命令 93
• 5.3.4 shell脚本入门 100
• 5.4 DOS介绍 101
• 5.4.1 基本命令 102
• 5.4.2 高级命令 104
• 5.5 SVN与Git版本控制 105
• 5.5.1 SVN常用操作 106
• 5.5.2 Git常用操作 110
• 5.6 Visio画图 114
• 5.7 Axure原型设计 115
• 5.8 代码编辑器 116
• 5.9 小结 119
• 第6章 架构师思想 120
• 6.1 数据类型 120
• 6.1.1 Object 121
• 6.1.2 byte和Byte 122
• 6.1.3 short和Short 122
• 6.1.4 int和Integer 122
• 6.1.5 long和Long 123
• 6.1.6 float和Float 123
• 6.1.7 char和Character 124
• 6.1.8 double和Double 124
• 6.1.9 boolean和Boolean 125
• 6.2 类与对象 125
• 6.2.1 三大特性 126
• 6.2.2 属性和方法 126
• 6.2.3 抽象类和接口 128
• 6.3 数组 129
• 6.3.1 创建数组 129
• 6.3.2 数组的初始化 130
• 6.3.3 数组的排序 130
• 6.4 集合类 130
• 6.4.1 Collection接口 131
• 6.4.2 Set接口 132
• 6.4.3 List接口 134
• 6.4.4 Queue接口 135
• 6.4.5 Map接口 136
• 6.4.6 HashMap实现类 136
• 6.4.7 TreeMap实现类 137
• 6.4.8 Hashtable实现类 137
• 6.4.9 Iterator迭代器 137
• 6.5 文件与流 139
• 6.5.1 File类 139
• 6.5.2 字节流 140
• 6.5.3 字符流 142
• 6.6 异常处理 145
• 6.6.1 try catch捕获 145
• 6.6.2 throw throws抛出 147
• 6.6.3 自定义异常 147
• 6.7 代码调试 148
• 6.7.1 Web调试方式 148
• 6.7.2 Java调试方式 149
• 6.8 多线程 150
• 6.8.1 线程创建 150
• 6.8.2 线程调度 152
• 6.8.3 线程同步 152
• 6.9 监听器 155
• 6.9.1 实现Listener 155
• 6.9.2 配置Listener 155
• 6.9.3 测试Listener 156
• 6.10 过滤器 157
• 6.10.1 实现Filter 157
• 6.10.2 配置Filter 158
• 6.10.3 测试Filter 159
• 6.11 反射机制 160
• 6.11.1 ReflectDemo 160
• 6.11.2 InvokeDemo 162
• 6.12 XML 163
• 6.12.1 创建XML 163
• 6.12.2 解析XML 164
• 6.13 WebService 166
• 6.13.1 实现服务端 167
• 6.13.2 实现客户端 168
• 6.14 Ajax传递 169
• 6.14.1 Ajax是什么 169
• 6.14.2 Ajax的JavaScript语法 171
• 6.14.3 Ajax的jQuery语法 174
• 6.15 JSP内置对象 175
• 6.15.1 request 175
• 6.15.2 response 176
• 6.15.3 session 177
• 6.15.4 application 179
• 6.15.5 out 180
• 6.15.6 pageContext 180
• 6.15.7 config 181
• 6.15.8 page 182
• 6.15.9 exception 183
• 6.16 Log4j配置 184
• 6.16.1 配置Log4j 184
• 6.16.2 配置Logback 186
• 6.17 小结 188
• 第7章 数据库 189
• 7.1 MySQL 189
• 7.1.1 安装 189
• 7.1.2 命令 191
• 7.1.3 profiling 196
• 7.1.4 SQLyog 198
• 7.2 Oralce 199
• 7.2.1 安装 200
• 7.2.2 命令 202
• 7.2.3 PLSQL 205
• 7.3 NoSQL 207
• 7.3.1 MongoDB 207
• 7.3.2 Redis 210
• 7.4 MyBatis 212
• 7.4.1 MyBatis环境搭建 212
• 7.4.2MyBatis配置参数 215
• 7.5 Hibernate 219
• 7.5.1 Hibernate环境搭建 219
• 7.5.2 Hibernate配置参数 222
• 7.6 函数 222
• 7.7 游标 223
• 7.8 存储过程 224
• 7.9 小结 225
• 第8章 Struts Spring Hibernate 226
• 8.1 框架搭建 226
• 8.1.1 整体规划 226
• 8.1.2MVC理念 227
• 8.2 框架集成 233
• 8.2.1 Struts 2的集成 233
• 8.2.2 Spring 3的集成 234
• 8.2.3Hibernate的集成 235
• 8.2.4 前端插件的集成 236
• 8.3 权限管理 236
• 8.3.1 业务设计 237
• 8.3.2 程序设计 238
• 8.3.3 数据库设计 247
• 8.4 架构设计 250
• 8.4.1 逻辑层 250
• 8.4.2 业务层 255
• 8.4.3 持久层 256
• 8.4.4 架构优化 258
• 8.4.5 架构拓展 259
• 8.4.6 配置文件 268
• 8.5 报表导出 282
• 8.5.1 POI介绍 282
• 8.5.2 POI导出前端实现 283
• 8.5.3 POI导出后端实现 284
• 8.5.4 下载Excel文件 289
• 8.5.5 CSV介绍 290
• 8.5.6 CSV导出前端实现 291
• 8.5.7 CSV导出后端实现 292
• 8.5.8 下载CSV文件 295
• 8.5.9 导出功能XML文件配置 297
• 8.6 加入缓存机制 297
• 8.6.1 Ehcache的搭建 297
• 8.6.2 Ehcache的使用 300
• 8.7 解决并发问题 301
• 8.7.1 连接池 301
• 8.7.2 Nginx 302
• 8.8 小结 306
• 第9章 Spring MVC 307
• 9.1 框架搭建 307
• 9.1.1 整体规划 307
• 9.1.2 技术选型 308
• 9.1.3 项目结构 309
• 9.2 详细设计 309
• 9.2.1 业务设计 310
• 9.2.2 原型设计 310
• 9.2.3 数据库设计 310
• 9.3 架构设计 311
• 9.3.1 逻辑层 311
• 9.3.2 业务层 315
• 9.3.3 持久层 316
• 9.3.4 配置文件 323
• 9.4 POI导入 334
• 9.4.1 POI导入前端实现 334
• 9.4.2 POI导入后端实现 336
• 9.5 小结 342
• 第 10章 电商平台 343
• 10.1 框架搭建 343
• 10.1.1 整体规划 343
• 10.1.2 技术选型 344
• 10.2 详细设计 344
• 10.2.1 业务设计 344
• 10.2.2 原型设计 344
• 10.2.3 数据库设计 345
• 10.3 架构设计 346
• 10.3.1 逻辑层 346
• 10.3.2 业务层 348
• 10.3.3 持久层 349
• 10.3.4 数据通道 350
• 10.4 支付接口 352
• 10.4.1 开发账号 352
• 10.4.2 支付接口集成 354
• 10.4.3 支付接口调试 357
• 10.5 JDBC连接类 361
• 10.6 小结 364
• 第 11章 产品思维 365
• 11.1 何谓产品化 365
• 11.1.1 三个标准 365
• 11.1.2 软件服务 366
• 11.2 软件产品化 368
• 11.2.1 开发文档 368
• 11.2.2 产品风格 368
• 11.2.3 前端框架 369
• 11.2.4 后端框架 371
• 11.3 图表项目 372
• 11.3.1 Bootstrap插件 372
• 11.3.2 ECharts图表 374
• 11.4 小结 376
• 第 12章 项目运维 377
• 12.1 平台维护 377
• 12.1.1 系统上线 378
• 12.1.2 运维报告 380
• 12.2 SonarQube代码扫描 381
• 12.2.1 环境搭建 381
• 12.2.2 PMD模板方式 381
• 12.2.3 Java自定义规则 386
• 12.3 Jenkins自动化部署 394
• 12.3.1 部署介绍 394
• 12.3.2 搭配使用 394
• 12.4 数据迁移 397
• 12.4.1 场景分析 397
• 12.4.2 ETL工具 397
• 12.5 小结 399
主要内容
本书共12章。书中通过讲解企业管理系统、电商系统、报表系统等项目的实际开发流程,把流行的Struts、Spring、Hibernate、Spring MVC、MyBatis等框架整合起来,再从代码层面讲述Maven、WebService、POI等技术,让读者在学习Java架构师需要具备的专业技能的同时,了解项目开发的整个过程。在项目运维方面,本书还讲解了SonarQube和Jenkins开源组件,以拓宽架构师的知识广度。