《企业级java ee架构设计精深实践》全面、深入介绍了企业级java ee设计的相关内容,内容涵盖了java ee架构设计的常见问题。
《企业级java ee架构设计精深实践》每一章讲解一个java ee领域的具体问题,采用问题背景、需求分析、解决思路、架构设计、实践示例和章节总结的顺序组织内容,旨在通过分析相关领域中的常用框架及存在问题,给出相应的解决方案,提高读者分析和解决问题的能力,并增强其架构设计的能力。
《企业级java ee架构设计精深实践》共13章。内容主要包括虚拟文件系统实践、缓存实践、文件处理框架实践、模板语言实践、数据库访问层实践、数据库扩展实践、服务层实践、流程引擎实践、元数据实践、展现层开发实践、web扩展实践、tiny统一界面框架实践和restful实践。附录中给出了相关学习资源和配置运行指南。
《企业级java ee架构设计精深实践》语言简洁,思路清晰,示例丰富、完整,适合具有一定java基础的读者阅读,尤其适合从事企业级java ee软件架构和设计的人员阅读。
罗果专注于企业级Java EE开发平台领域。涉猎广泛,在模块化、元数据、模板引擎、数据库分区分表、SOA等领域都有深入实践。吃过很多亏,上过很多当,但坚信实践出真知。业余时间热心于开源技术,热衷于技术分享,撰写了大量的技术博客,从问题、原理和实践几个方面深入浅出地讲述知识。在“开源中国社区”开博两年,其博客浏览量已近百万次。所开发的Java EE开源框架Tiny,入驻“开源中国社区”两年以来,获得的Star和Fork数都已双双近千,是开源中国极具活力的开源项目之一。
第1章虚拟文件系统实践
1.1背景介绍
1.2什么是VFS
1.3VFS对比
1.3.1ApacheVFS
1.3.2TinyVFS
1.4VFS框架设计思想
1.5VFS实现讲解
1.5.1VFS管理器
1.5.2SchemaProvider模式提供者
1.5.3FileObject虚拟文件
1.5.4FileobjectFilter过滤接口
1.6VFS应用示例
1.6.1本地文件
1.6.2Jar文件
1.6.3FTP文件
1.6.4ZIP文件
1.7本章总结
第2章缓存实践
2.1缓存简介
2.1.1问题的提出及其解决方案分析
2.1.2用户需求
2.1.3Tiny缓存解决思路
2.2字节码缓存设计
2.2.1字节码操作工程
2.2.2预编译工程
2.2.3缓存实现工程
2.2.4技术特点
2.3动态代理缓存设计
2.3.1缓存接口定义
2.3.2切面缓存工程
2.3.3技术特点
2.4缓存方案实践
2.4.1字节码方案配置
2.4.2字节码方案示例
2.4.3动态代理方案配置
2.4.4动态代理方案示例
2.5本章总结
2.5.1关键点:缓存实现方案的可替换性
2.5.2关键点:缓存代码与业务代码的解耦
2.5.3关键点:模板语言的应用
第3章文件处理框架实践
3.1概述
3.1.1FileProcessor接口
3.1.2FileResolver接口
3.1.3FileMonitorProcessor类
3.2基础文件扫描器
3.2.1XStreamFileProcessor类
3.2.2118nFileProcessor类
3.2.3Annotation扫描器
3.2.4SpringBeansFileProcessor类
3.3完整示例
3.3.1单独使用
3.3.2通过配置文件配置
3.4本章总结
第4章模板语言实践
4.1模板语言简介
4.1.1模板语言构成
4.1.2模板语言应用场景
4.2常见的模板语言
4.2.1Velocity模板语言
4.2.2FreeMarker模板语言
4.2.3Tiny模板语言
4.3Tiny模板语言设计
4.3.1Tiny模板语言的构建原因
4.3.2模板语言执行方式
4.3.3模板语言架构
4.3.4Tiny模板语言实现与扩展
4.3.5模板语言语法解析
4.3.6模板语言渲染机制
4.4模板语言的使用
4.4.1依赖配置
4.4.2模板语言的配置
4.4.3模板语言的Eclipse插件
4.4.4Hello,TinyTemplate
4.5模板语言语法介绍
4.5.1变量
4.5.2取值表达式
4.5.3Map常量
4.5.4数组常量
4.5.5其他表达式
4.5.6索引表达式
4.5.7#set指令
4.5.8条件判断
4.5.9一相等运算
4.5.10AND运算
4.5.110R运算
4.5.12NOT运算
4.5.13循环语句
4.5.14循环状态变量
4.5.15循环中断:#break
4.5.16循环继续:#cominue
4.5.17while循环
4.5.18模板嵌套语句#include
4.5.19宏定义语句≠macro
4.5.20宏引入语句#import
4.5.21布局重写语句#layout#@layout
4.5.22停止执行#stop
4.5.23返回指令#retum
4.5.24行结束指令
4.5.25读取文本资源函数read和readContem
4.5.26解析模板parser
4.5.27格式化函数fmt、format和formatter
4.5.28宏调用方法call和callMacm
4.5.29实例判断函数is、instanceOf和instance
4.5.30求值函数eval和evaluate
4.5.31随机数函数rand和random
4.5.32类型转换函数
4.5.33日期格式转换formatDate
4.6模板语言扩展
4.6.1资源加载器的使用
4.6.2宏的使用
4.6.3函数的使用
4.6.4国际化的使用
4.6.5静态类和静态方法的使用
4.6.6Servlet集成
4.6.7SpringMVC集成
4.7本章总结
第5章数据库访问层实践
5.1数据访问层简介
5.2常见数据库访问层介绍
5.2.1hibernate简介
5.2.2Ibatis简介
5.2.3JPA简介
5.2.4DSL数据库访问层简介
5.3TinyDsl设计方案
5.3.1SQL抽象化设计
5.3.2DSL风格SQL设计
5.3.3SQL执行接口设计
5.3.4执行接口实现介绍
5.4数据库访问层示例
5.4.1工程创建
5.4.2准备工作
5.4.3Hibernate示例
5.4.4Ibatis示例
5.4.5JPA示例
5.4.6TinyDsl示例
5.5本章总结
第6章数据库扩展实践
6.1数据库扩展简介
6.2常见数据库扩展方案
6.2.1DAO层
6.2.2DataSource层
6.2.3JDBC层
6.2.4Proxy层
6.3读写分离
6.3.1读写分离
6.3.2负载均衡
6.3.3数据同步
6.4分库分表
6.4.1同库分表
6.4.2不同库分表
6.5开源方案介绍
6.5.1TDDL
6.5.2Routing4DB
6.5.3TinyDbRouter
6.5.4开源方案的对比
6.6TinyDbRouter的设计和实现
6.6.1设计目标
6.6.2设计原理之接入层设计
6.6.3设计原理之SQL解析层设计
6.6.4设计原理之路由决策层设计
6.6.5设计原理之执行层设计
6.6.6实现
6.7应用实践
6.7.1读写分离示例
6.7.2分库分表示例
6.7.3集群事务示例
6.7.4元数据示例
6.7.5自定义扩展
6.7.6常见FAQ
6.8本章总结
……
第7章服务层实践
第8章流程引擎实践
第9章元数据实践
第10章展现层开发实践
第11章web扩展实践
第12章Tiny统一界面框架实践
第13章RESTful实践
附录A相关资源
附录B配置运行指南
¥249.00¥498.00
¥399.00
¥29.00
¥149.00¥298.00