展开全部

主编推荐语

全面介绍轻量级架构概念和技术。

内容简介

轻量级架构是目前的主流架构之一,本书全面介绍了基于轻量级架构来构建大型互联网应用,包括轻量级架构概述、Servlet、Spring、单元测试、集成测试、事务管理、SpringSecurity、MyBatis、MyBatis高级应用、SMM技术集成、SMM分层、基于SMM架构的互联网应用、使用NGINX实现高可用、使用Redis实现高并发等内容。

同时,书中所介绍的技术方案皆为业界主流的技术,极具前瞻性。最后,本书除了讲解轻量级架构的理论知识,还会在每个知识点上辅以大量的代码案例,使理论可以联系实际,具备更强的可操作性。

目录

  • 版权信息
  • 前言
  • 第1章 轻量级架构概述
  • 1.1 大型互联网应用的特征
  • 1.1.1 快!快!快!
  • 1.1.2 渐进式开发
  • 1.1.3 拥抱变化
  • 1.1.4 敏捷之道
  • 1.1.5 开源技术
  • 1.1.6 微服务
  • 1.1.7 高并发
  • 1.1.8 高可用
  • 1.2 传统企业级应用技术的不足
  • 1.2.1 规范不实用
  • 1.2.2 学习成本太高
  • 1.2.3 不够灵活
  • 1.2.4 发展缓慢
  • 1.3 Lite框架简介
  • 1.3.1 轻量级架构
  • 1.3.2 符合二八定律
  • 1.3.3 基于开源技术
  • 1.3.4 支持微服务
  • 1.3.5 可用性和扩展性
  • 1.3.6 支撑大型互联网应用
  • 第2章 Servlet
  • 2.1 Servlet概述
  • 2.1.1 Servlet架构
  • 2.1.2 Servlet生命周期
  • 2.1.3 常用方法
  • 2.1.4 Servlet容器
  • 2.1.5 常用Servlet容器
  • 2.2 请求
  • 2.2.1 HTTP协议参数
  • 2.2.2 属性
  • 2.2.3 请求头
  • 2.2.4 请求路径元素
  • 2.2.5 路径转换方法
  • 2.2.6 请求数据编码
  • 2.3 Servlet上下文
  • 2.3.1 ServletContext接口介绍
  • 2.3.2 ServletContext接口作用域
  • 2.3.3 初始化参数
  • 2.3.4 配置方法
  • 2.3.5 上下文属性
  • 2.3.6 资源
  • 2.4 响应
  • 2.4.1 缓冲
  • 2.4.2 头
  • 2.4.3 方法
  • 2.5 实战:基于Servlet的Web程序
  • 2.5.1 创建动态Web项目
  • 2.5.2 创建Servlet实现类
  • 2.5.3 修改HelloServlet类
  • 2.5.4 运行应用
  • 2.6 Jetty
  • 2.6.1 高性能Servlet容器
  • 2.6.2 可拔插
  • 2.6.3 Jetty常用配置
  • 2.7 实战:在应用中内嵌Jetty容器
  • 2.7.1 Maven插件形式
  • 2.7.2 编程方式
  • 第3章 Spring基础
  • 3.1 Spring概述
  • 3.1.1 Spring的含义
  • 3.1.2 Spring框架总览
  • 3.1.3 Spring框架常用模块
  • 3.1.4 Spring设计模式
  • 3.2 IoC
  • 3.2.1 依赖注入与控制反转
  • 3.2.2 IoC容器和bean
  • 3.2.3 配置元数据
  • 3.2.4 实例化容器
  • 3.2.5 使用容器
  • 3.2.6 实例化bean的方式
  • 3.2.7 注入方式
  • 3.2.8 实战:依赖注入
  • 3.2.9 bean scope
  • 3.2.10 自定义scope
  • 3.2.11 基于注解的配置
  • 3.2.12 类路径扫描及组件管理
  • 3.2.13 基于Java的容器配置
  • 3.2.14 环境抽象
  • 3.3 AOP
  • 3.3.1 AOP概述
  • 3.3.2 AOP核心概念
  • 3.3.3 Spring AOP
  • 3.3.4 AOP代理
  • 3.3.5 实战:使用@AspectJ
  • 3.3.6 基于XML的AOP
  • 3.3.7 实战:基于XML的AOP
  • 3.4 资源处理
  • 3.4.1 常用资源接口
  • 3.4.2 内置资源接口实现
  • 3.4.3 ResourceLoader
  • 3.4.4 ResourceLoaderAware
  • 3.4.5 资源作为依赖
  • 3.5 表达式语言SpEL
  • 3.5.1 SpEL概述
  • 3.5.2 表达式接口
  • 3.5.3 对于bean定义的支持
  • 3.5.4 实战:使用SpEL
  • 第4章 Spring单元测试
  • 4.1 Mock对象
  • 4.1.1 Environment
  • 4.1.2 JNDI
  • 4.1.3 Servlet API
  • 4.2 测试工具类
  • 4.2.1 测试工具
  • 4.2.2 测试Spring Web MVC
  • 第5章 Spring集成测试
  • 5.1 集成测试概述
  • 5.1.1 上下文管理与缓存
  • 5.1.2 测试夹具的依赖注入
  • 5.1.3 事务管理
  • 5.1.4 集成测试类
  • 5.1.5 JDBC
  • 5.2 测试相关的注解
  • 5.2.1 @BootstrapWith
  • 5.2.2 @ContextConfiguration
  • 5.2.3 @WebAppConfiguration
  • 5.2.4 @ContextHierarchy
  • 5.2.5 @ActiveProfiles
  • 5.2.6 @TestPropertySource
  • 5.2.7 @DirtiesContext
  • 5.2.8 @TestExecutionListeners
  • 5.2.9 @Commit
  • 5.2.10 @Rollback
  • 5.2.11 @BeforeTransaction
  • 5.2.12 @AfterTransaction
  • 5.2.13 @Sql
  • 5.2.14 @SqlConfig
  • 5.2.15 @SqlGroup
  • 5.2.16 Spring JUnit 4注解
  • 5.2.17 Spring JUnit Jupiter注解
  • 5.3 Spring TestContext框架
  • 5.3.1 Spring TestContext框架概述
  • 5.3.2 核心抽象
  • 5.3.3 引导TestContext
  • 5.3.4 TestExecutionListener配置
  • 5.3.5 上下文管理
  • 5.3.6 测试夹具的依赖注入
  • 5.3.7 如何测试request bean和session bean
  • 5.3.8 事务管理
  • 5.3.9 执行SQL脚本
  • 5.4 Spring MVC Test框架
  • 5.4.1 服务端测试概述
  • 5.4.2 选择测试策略
  • 5.4.3 设置测试功能
  • 5.4.4 执行请求
  • 5.4.5 定义期望
  • 5.4.6 注册过滤器
  • 5.4.7 脱离容器的测试
  • 5.4.8 实战:服务端测试
  • 第6章 Spring事务管理
  • 6.1 事务管理概述
  • 6.1.1 Spring事务管理优势
  • 6.1.2 全局事务与本地事务
  • 6.1.3 Spring事务模型
  • 6.2 通过事务实现资源同步
  • 6.2.1 高级别的同步方法
  • 6.2.2 低级别的同步方法
  • 6.2.3 TransactionAwareDataSourceProxy
  • 6.3 声明式事务管理
  • 6.3.1 声明式事务管理
  • 6.3.2 实战:声明式事务管理
  • 6.3.3 事务回滚
  • 6.3.4 配置不同的事务策略
  • 6.3.5 @Transactional详解
  • 6.3.6 事务传播机制
  • 6.4 编程式事务管理
  • 6.4.1 TransactionTemplate
  • 6.4.2 PlatformTransactionManager
  • 6.4.3 声明式事务管理和编程式事务管理
  • 第7章 Spring Web MVC
  • 7.1 Spring Web MVC概述
  • 7.2 DispatcherServlet
  • 7.2.1 DispatcherServlet概述
  • 7.2.2 上下文层次结构
  • 7.2.3 处理流程
  • 7.2.4 拦截
  • 7.3 过滤器
  • 7.3.1 HTTP PUT表单
  • 7.3.2 转发头
  • 7.3.3 ShallowEtagHeaderFilter
  • 7.3.4 CORS
  • 7.4 控制器
  • 7.4.1 声明控制器
  • 7.4.2 请求映射
  • 7.4.3 处理器方法
  • 7.4.4 模型方法
  • 7.4.5 绑定器方法
  • 7.5 异常处理
  • 7.5.1 @ExceptionHandler
  • 7.5.2 框架异常处理
  • 7.5.3 REST API异常
  • 7.5.4 注解异常
  • 7.5.5 容器错误页面
  • 7.6 CORS处理
  • 7.6.1 @CrossOrigin
  • 7.6.2 全局CORS配置
  • 7.6.3 自定义
  • 7.6.4 CORS过滤器
  • 7.7 HTTP缓存
  • 7.7.1 缓存控制
  • 7.7.2 静态资源
  • 7.7.3 控制器缓存
  • 7.8 MVC配置
  • 7.8.1 启用MVC配置
  • 7.8.2 类型转换
  • 7.8.3 验证
  • 7.8.4 拦截器
  • 7.8.5 内容类型
  • 7.8.6 消息转换器
  • 7.8.7 视图控制器
  • 7.8.8 视图解析器
  • 7.8.9 静态资源
  • 7.8.10 DefaultServletHttpRequestHandler
  • 7.8.11 路径匹配
  • 7.9 实战:基于Spring Web MVC的REST接口
  • 7.9.1 接口设计
  • 7.9.2 系统配置
  • 7.9.3 后台编码实现
  • 7.9.4 应用配置
  • 7.9.5 运行应用
  • 第8章 Spring Security
  • 8.1 基于角色的权限管理
  • 8.1.1 角色的概念
  • 8.1.2 基于角色的访问控制
  • 8.1.3 哪种方式更好
  • 8.2 Spring Security基础
  • 8.2.1 Spring Security的认证模型
  • 8.2.2 Spring Security的安装
  • 8.2.3 模块
  • 8.2.4 Spring Security 5的新特性及高级功能
  • 8.3 实战:基于Spring Security的安全认证功能
  • 8.3.1 添加依赖
  • 8.3.2 添加业务代码
  • 8.3.3 配置消息转换器
  • 8.3.4 配置Spring Security
  • 8.3.5 创建应用配置类
  • 8.3.6 创建内嵌Jetty的服务器
  • 8.3.7 应用启动器
  • 8.3.8 运行应用
  • 第9章 MyBatis基础
  • 9.1 MyBatis概述
  • 9.2 与Hibernate对比
  • 9.2.1 框架复杂度
  • 9.2.2 学习成本
  • 9.2.3 性能
  • 9.3 四大核心概念
  • 9.3.1 SqlSessionFactoryBuilder
  • 9.3.2 SqlSessionFactory
  • 9.3.3 SqlSession
  • 9.3.4 Mapper
  • 9.4 生命周期及作用域
  • 9.4.1 SqlSessionFactoryBuilder
  • 9.4.2 SqlSessionFactory
  • 9.4.3 SqlSession
  • 9.4.4 Mapper实例
  • 第10章 MyBatis高级应用
  • 10.1 配置文件
  • 10.1.1 properties
  • 10.1.2 settings
  • 10.1.3 typeAliases
  • 10.1.4 typeHandlers
  • 10.1.5 objectFactory
  • 10.1.6 plugins
  • 10.1.7 environments
  • 10.1.8 transactionManager
  • 10.1.9 dataSource
  • 10.1.10 databaseIdProvider
  • 10.1.11 mappers
  • 10.2 Mapper映射文件
  • 10.2.1 select
  • 10.2.2 insert、update和delete
  • 10.2.3 处理主键
  • 10.2.4 sql
  • 10.2.5 参数
  • 10.2.6 结果映射
  • 10.2.7 自动映射
  • 10.2.8 缓存
  • 10.3 动态SQL
  • 10.3.1 if
  • 10.3.2 choose(when, otherwise)
  • 10.3.3 trim(where, set)
  • 10.3.4 foreach
  • 10.3.5 bind
  • 10.3.6 多数据库支持
  • 10.4 常用API
  • 10.4.1 SqlSessionFactoryBuilder
  • 10.4.2 SqlSessionFactory
  • 10.4.3 SqlSession
  • 10.4.4 注解
  • 第11章 Lite技术集成
  • 11.1 技术集成概述
  • 11.2 MySQL的安装及基本操作
  • 11.2.1 下载安装包
  • 11.2.2 解压安装包
  • 11.2.3 创建my.ini
  • 11.2.4 初始化安装
  • 11.2.5 启动、关闭MySQL schmerver
  • 11.2.6 使用MySQL客户端
  • 11.2.7 MySQL常用指令
  • 11.3 Spring与MyBatis集成
  • 11.3.1 添加依赖
  • 11.3.2 初始化数据库信息
  • 11.3.3 数据库连接池配置
  • 11.3.4 编写业务代码
  • 11.3.5 编写测试用例
  • 11.4 集成Spring Web MVC
  • 11.4.1 添加依赖
  • 11.4.2 添加控制器
  • 11.4.3 修改UserMapper
  • 11.4.4 引入Servlet容器
  • 11.4.5 创建应用配置
  • 11.4.6 运行应用
  • 11.5 集成Spring Security
  • 11.5.1 添加依赖
  • 11.5.2 添加安全配置类
  • 11.5.3 修改AppConfiguration
  • 11.5.4 修改嵌入服务器
  • 11.5.5 运行应用
  • 11.6 集成日志框架
  • 11.6.1 日志框架概述
  • 11.6.2 添加依赖
  • 11.6.3 添加日志配置文件
  • 11.6.4 使用日志框架
  • 11.6.5 修改嵌入服务器
  • 11.6.6 运行应用
  • 第12章 Lite架构分层
  • 12.1 分层架构概述
  • 12.1.1 应用的分层
  • 12.1.2 不分层的应用架构
  • 12.1.3 应用的三层架构
  • 12.1.4 MVC与三层架构的差异
  • 12.1.5 Lite的分层架构
  • 12.2 数据访问层
  • 12.2.1 仓储模式
  • 12.2.2 数据访问对象模式
  • 12.3 事务处理
  • 12.4 权限验证
  • 12.5 接口访问层
  • 12.5.1 REST概述
  • 12.5.2 REST的特征
  • 12.5.3 Java REST规范
  • 12.6 实战:Lite框架的搭建
  • 12.6.1 内嵌Sevlet容器
  • 12.6.2 3种启动方式
  • 12.6.3 支持打包为可执行的jar
  • 12.6.4 支持REST API
  • 12.6.5 支持JUnit5测试
  • 12.6.6 支持传入外部上下文
  • 12.6.7 实现数据访问层
  • 12.6.8 实现安全认证
  • 12.7 发布Lite框架到Maven中央仓库
  • 12.7.1 注册Sonatype账号
  • 12.7.2 创建一个Issue
  • 12.7.3 等待Issue审核
  • 12.7.4 下载安装Gpg4win
  • 12.7.5 生成密钥对
  • 12.7.6 修改pom文件
  • 12.7.7 修改Maven的settings.xml文件
  • 12.7.8 发布到仓库
  • 12.7.9 查看Lite源码
  • 第13章 实战:基于Lite框架的互联网应用
  • 13.1 lite-news概述
  • 13.1.1 初始化数据库
  • 13.1.2 创建用户表
  • 13.1.3 创建新闻表
  • 13.1.4 创建后台应用lite-news-schmerver
  • 13.1.5 创建Spring配置文件
  • 13.1.6 自定义Lite配置文件
  • 13.1.7 自定义日志格式
  • 13.2 模型设计
  • 13.2.1 用户模型设计
  • 13.2.2 新闻模型设计
  • 13.3 接口设计与实现
  • 13.3.1 DAO接口设计
  • 13.3.2 Service接口设计
  • 13.3.3 REST接口设计
  • 13.4 实现权限管理
  • 13.4.1 实现UserDetailsService
  • 13.4.2 定义安全配置类
  • 13.4.3 定义后台管理控制器
  • 13.4.4 初始化用户数据
  • 13.4.5 测试认证
  • 13.5 前端lite-news-ui设计
  • 13.5.1 应用概述
  • 13.5.2 需求分析
  • 13.6 实现lite-news-ui原型
  • 13.6.1 开发环境准备
  • 13.6.2 初始化lite-news-ui
  • 13.6.3 添加Angular Material
  • 13.6.4 创建新闻列表组件
  • 13.6.5 实现新闻列表原型设计
  • 13.7 实现路由器
  • 13.7.1 创建路由
  • 13.7.2 添加路由出口
  • 13.7.3 修改新闻列表组件
  • 13.7.4 增加返回事件处理
  • 13.7.5 运行应用
  • 13.7.6 实现新闻详情页原型设计
  • 13.8 实现用户登录
  • 13.8.1 创建后台管理组件
  • 13.8.2 添加组件到路由器
  • 13.8.3 注入HTTP客户端
  • 13.8.4 客户端访问后台接口
  • 13.9 实现新闻编辑器
  • 13.9.1 集成ngx-markdown插件
  • 13.9.2 导入MarkdownModule模块
  • 13.9.3 编写编辑器界面
  • 13.9.4 调整后台接口路径
  • 13.9.5 运行
  • 13.10 实现新闻列表展示
  • 13.10.1 实现新闻列表查询的接口
  • 13.10.2 实现客户端访问新闻列表REST接口
  • 13.10.3 运行应用
  • 13.11 实现新闻详情展示
  • 13.11.1 实现新闻详情查询的接口
  • 13.11.2 实现客户端访问新闻详情REST接口
  • 13.11.3 设置路由
  • 13.11.4 运行应用
  • 13.12 总结
  • 第14章 使用NGINX实现高可用
  • 14.1 NGINX概述
  • 14.1.1 NGINX特性
  • 14.1.2 下载、安装、运行NGINX
  • 14.1.3 安装、运行NGINX
  • 14.1.4 验证安装
  • 14.1.5 常用命令
  • 14.2 部署Angular应用
  • 14.2.1 编译Angular应用
  • 14.2.2 部署Angular编译文件
  • 14.2.3 配置NGINX
  • 14.3 实现负载均衡及高可用
  • 14.3.1 配置负载均衡
  • 14.3.2 负载均衡常用算法
  • 14.3.3 实现后台服务的高可用
  • 14.3.4 运行
  • 第15章 使用Redis实现高并发
  • 15.1 为什么需要缓存
  • 15.2 了解Redis服务器
  • 15.2.1 Redis简介
  • 15.2.2 Redis的下载、安装、使用
  • 15.2.3 Redis的数据类型及抽象
  • 15.3 使用Redis
  • 15.3.1 编程式
  • 15.3.2 声明式
  • 15.4 lite-news实现缓存
  • 15.4.1 集成Redis客户端
  • 15.4.2 增加Spring Data Redis配置
  • 15.4.3 使用Spring缓存注解
  • 15.4.4 序列化
  • 15.4.5 运行
  • 第16章 Spring Boot概述
  • 16.1 构建RESTful服务
  • 16.1.1 配置环境
  • 16.1.2 RESTful API设计
  • 16.1.3 编写程序代码
  • 16.1.4 安装REST客户端
  • 16.1.5 运行、测试程序
  • 16.2 Spring Boot的配置详解
  • 16.2.1 理解Spring Boot的自动配置
  • 16.2.2 重写默认的配置值
  • 16.2.3 更换配置文件的位置
  • 16.2.4 自定义配置
  • 16.2.5 使用.yaml作为配置文件
  • 16.2.6 profiles的支持
  • 16.3 内嵌Servlet容器
  • 16.3.1 注册Servlet、过滤器和监听器
  • 16.3.2 Servlet上下文初始化
  • 16.3.3 ServletWebServerApplicationContext
  • 16.3.4 更改内嵌Servlet容器
  • 16.4 实现安全机制
  • 16.4.1 实现基本认证
  • 16.4.2 实现OAuth 2.0认证
  • 16.4.3 示例源码
  • 第17章 基于Spring Boot的Lite框架
  • 17.1 Lite Spring Boot Starter项目搭建
  • 17.1.1 访问Spring Initializr
  • 17.1.2 编译项目
  • 17.1.3 探索项目
  • 17.1.4 编写RESTful服务
  • 17.1.5 示例源码
  • 17.2 集成Jetty
  • 17.3 集成Spring Security
  • 17.3.1 添加安全配置类
  • 17.3.2 运行应用
  • 17.4 集成MyBatis
  • 17.4.1 添加MyBatis Spring Boot Starter依赖
  • 17.4.2 配置数据库连接
  • 17.4.3 配置Mapper
  • 17.4.4 编写测试用例
  • 17.5 总结
  • 附录 本书所采用的技术及相关版本
  • 参考文献
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

北京大学出版社

北京大学出版社是在1979年,经国家出版事业管理局同意,教育部批准成立的,恢复了北京大学出版社建制。北京大学出版社依靠北大雄厚的教学、科研力量,同时积极争取国内外专家学者的合作支持,出版了大量高水平、高质量、适应多层次需要的优秀高等教育教材。 北大出版社注意对教材进行全面追踪,捕捉信息,及时修订,以跟上各学科的最新发展,反映该学科研究的最新成果,保持北大版教材的领先地位。