展开全部

主编推荐语

《Spring实战(第4版)》:全面介绍Spring 5,涵盖反应式应用开发。

内容简介

本书从介绍Spring框架入手,介绍了Beans的配置、依赖注入、定制Bean、基于Java的容器、AOP、Spring Data、Spring MVC等知识。最新的第4版反映了Spring 5的变化,并新增了关于功能和开发反应式应用程序的内容,其中反应式应用程序开发章节涵盖反应流规范、RxJava 2、反应器、Spring WebFlux和反应支持等内容。

目录

  • 版权信息
  • 版权
  • 版权声明
  • 内容提要
  • 前言
  • 资源与支持
  • 第1章 Spring框架概述
  • 1.1 简介
  • 1.2 Spring框架的模块
  • 1.3 Spring IoC容器
  • 1.4 使用Spring框架的好处
  • 1.4.1 管理本地和全局事务的一致方法
  • 1.4.2 声明式事务管理
  • 1.4.3 安全
  • 1.4.4 Java管理扩展
  • 1.4.5 Java消息服务
  • 1.4.6 缓存
  • 1.5 一个简单的Spring应用程序
  • 1.5.1 确定应用程序对象及其依赖关系
  • 1.5.2 根据确定的应用程序对象创建POJO类
  • 1.5.3 创建配置元数据
  • 1.5.4 通过setter方法注入依赖项
  • 1.5.5 创建Spring容器的一个实例
  • 1.5.6 从Spring容器访问bean
  • 1.6 Spring框架5的新功能
  • 1.7 建立在Spring之上的框架
  • 1.8 小结
  • 第2章 Spring框架基础
  • 2.1 简介
  • 2.2 面向接口编程的设计方法
  • 提高依赖类的可测试性
  • Spring对“面向接口编程”设计方法的支持
  • 使用“面向接口编程”设计方法的MyBank应用程序
  • 2.3 使用静态和实例工厂方法创建Spring bean
  • 2.3.1 通过静态工厂方法实例化bean
  • 2.3.2 通过实例工厂方法实例化bean
  • 注入由工厂方法创建的bean的依赖项
  • 2.4 基于构造函数的DI
  • 2.4.1 回顾基于setter的DI
  • 2.4.2 基于构造函数的DI
  • 基于构造函数和基于setter的DI机制的结合使用
  • 2.5 将配置详细信息传递给bean
  • 2.6 bean的作用域
  • 2.6.1 singleton
  • 1.singleton范围的bean和多个Spring容器
  • 2.延迟初始化一个singleton范围的bean
  • 2.6.2 prototype
  • 2.6.3 为你的bean选择适当的范围
  • 2.7 小结
  • 第3章 bean的配置
  • 3.1 简介
  • 3.2 bean定义的继承
  • 3.2.1 MyBank——bean定义继承示例
  • 3.2.2 继承了什么
  • bean定义继承示例——父bean定义非抽象
  • bean定义继承示例——继承工厂方法配置
  • 3.3 构造函数参数匹配
  • 3.3.1 使用<constructor-arg>元素传递简单的值和bean引用
  • 3.3.2 基于类型的构造方法参数匹配
  • 1.构造函数参数表示不同的Spring bean
  • 2.构造函数参数表示相关的Spring bean
  • 3.构造函数参数表示标准Java类型和自定义类型
  • 3.3.3 基于名称的构造函数参数匹配
  • 1.@ConstructorProperties注解和bean定义继承
  • 2.@ConstructorProperties注解和工厂方法
  • 3.在Eclipse IDE中启用(或禁用)调试或“参数名称发现”标志
  • 3.4 配置不同类型的bean属性和构造函数参数
  • 3.4.1 Spring的内置属性编辑器
  • 3.4.2 指定不同集合类型的值
  • 1.将List、Map、Set和Properties类型的元素添加到集合类型
  • 2.将bean引用添加到集合类型
  • 3.将bean名称添加到集合类型
  • 4.将null值添加到集合类型
  • 3.4.3 指定数组的值
  • 3.4.4 与<list>、<set>和<map>元素相对应的默认实现
  • 3.5 内置属性编辑器
  • 3.5.1 CustomCollectionEditor
  • 3.5.2 CustomMapEditor
  • 3.5.3 CustomDateEditor
  • 3.6 向Spring容器注册属性编辑器
  • 3.6.1 创建一个PropertyEditorRegistrar实现
  • 3.6.2 配置CustomEditorConfigurer类
  • 3.7 具有p和c命名空间的简明bean定义
  • 3.7.1 p命名空间
  • 3.7.2 c命名空间
  • 3.8 Spring的util模式
  • 3.8.1 <list>元素
  • 3.8.2 <map>元素
  • 3.8.3 <set>元素
  • 3.8.4 <properties>元素
  • 3.8.5 <constant>元素
  • 3.8.6 <property-path>元素
  • 3.9 FactoryBean接口
  • 3.9.1 MyBank application——将事件存储在数据库中
  • 3.9.2 MyBank——FactoryBean 示例
  • 3.9.3 访问FactoryBean实例
  • 3.10 模块化bean配置
  • 3.11 小结
  • 第4章 依赖注入
  • 4.1 简介
  • 4.2 内部bean
  • 4.3 使用depends-on特性控制bean的初始化顺序
  • 4.3.1 MyBank——bean之间隐式的依赖关系
  • 4.3.2 隐性依赖问题
  • 1.EventSenderSelectorServiceImpl——写入者
  • 2.appConfig.properties
  • 3.FixedDepositServiceImpl——读取者
  • 4.如何解决隐含依赖问题
  • 5.多个隐式依赖项
  • 6.depends-on特性和bean定义继承
  • 4.4 singleton和prototype范围的bean的依赖项
  • 4.4.1 singleton bean的依赖项
  • 4.4.2 Prototype bean的依赖项
  • 4.5 通过singleton bean中获取prototype bean的新实例
  • 4.5.1 ApplicationContextAware 接口
  • 4.5.2 <lookup-method> 元素
  • 4.5.3 <replaced-method> 元素
  • 唯一地标识bean方法
  • 4.6 自动装配依赖项
  • 4.6.1 byType
  • 4.6.2 constructor
  • 4.6.3 byName
  • 4.6.4 default / no
  • 4.6.5 使bean无法用于自动装配
  • 4.6.6 自动装配的局限性
  • 4.7 小结
  • 第5章 自定义bean和bean定义
  • 5.1 简介
  • 5.2 自定义bean的初始化和销毁逻辑
  • 5.2.1 使Spring调用由destroy-method特性指定的cleanup方法
  • 5.2.2 清理方法和prototype bean
  • 5.2.3 为所有bean指定默认的bean初始化和销毁方法
  • 5.2.4 InitializingBean 和DisposableBean 生命周期接口
  • 5.2.5 JSR 250’s @PostConstruct 和@PreDestroy 注解
  • 5.3 使用BeanPostProcessor与新创建的bean实例进行交互
  • 5.3.1 BeanPostProcessor示例——验证bean实例
  • 5.3.2 BeanPostProcessor示例——解析bean依赖项
  • 5.3.3 FactoryBeans的BeanPostProcessor行为
  • 5.3.4 RequiredAnnotationBeanPostProcessor
  • 5.3.5 DestructionAwareBeanPostProcessor
  • 5.4 使用BeanFactoryPostProcessor修改bean定义
  • 5.4.1 BeanFactoryPostProcessor示例
  • 5.4.2 PropertySourcesPlaceholderConfigurer
  • 1.localOverride属性
  • 2.<property-placeholder> 元素
  • 5.4.3 PropertyOverrideConfigurer
  • PropertyOverrideConfigurer示例
  • 5.5 小结
  • 第6章 使用Spring进行注解驱动开发
  • 6.1 简介
  • 6.2 用@Component标识Spring bean
  • 6.3 @Autowired 通过类型自动装配依赖项
  • 6.4 @Qualifier 按名称自动装配依赖项
  • 6.4.1 使用qualifiers自动装配bean
  • 6.4.2 创建自定义限定符注解
  • 6.5 JSR 330的@Inject和@Named 注解
  • Java 8的Optional类型
  • 6.6 JSR 250的 @Resource注解
  • 6.7 @Scope、@Lazy、@DependsOn和@Primary注解
  • 6.7.1 @Scope
  • 6.7.2 @Lazy
  • 延迟自动装配依赖项
  • 6.7.3 @DependsOn
  • 6.7.4 @Primary
  • 6.8 使用@Value简化注解的bean类的配置
  • 6.8.1 在@Value注解中使用Spring表达式语言(SpEL)
  • 6.8.2 在方法级和方法参数级使用@Value注解
  • 6.8.3 在SpEL中使用数学、关系和逻辑运算符
  • 6.8.4 使用SpEL获取bean的引用
  • 6.8.5 在SpEL中使用正则表达式
  • 6.8.6 在SpEL中使用映射和列表
  • 6.8.7 在基于XML的bean定义中指定SpEL表达式
  • 6.9 使用Spring的Validator接口验证对象
  • 6.10 使用JSR 380(Bean Validation 2.0)注解指定约束
  • 6.10.1 Spring中的JSR 380支持
  • 验证方法
  • 6.10.2 JSR 380有什么新功能
  • 6.11 bean定义配置文件
  • bean定义配置文件示例
  • 1.开发和生产环境中的不同数据库
  • 2.支持Hibernate和MyBatis
  • 3.设置活跃配置文件
  • 6.12 小结
  • 第7章 基于Java的容器配置
  • 7.1 简介
  • 7.2 使用@Configuration和@Bean注解配置bean
  • 在@Component和JSR 330的@Named类中定义@Bean方法
  • 使用@ComponentScan搜索和注册bean
  • 使用组件索引代替类路径扫描
  • 7.3 注入bean依赖项
  • 7.4 配置Spring容器
  • 7.5 生命周期回调
  • 7.6 导入基于Java的配置
  • 解决依赖关系
  • 7.7 附加主题
  • 7.7.1 覆盖@Bean方法
  • 7.7.2 配置BeanPostProcessors和BeanFactoryPostProcessors
  • 7.7.3 导入应用程序上下文XML文件
  • 7.7.4 有条件地包含@Bean和 @Configuration类
  • 1.开发和生产环境中的不同数据库
  • 2.对Hibernate和MyBatis的支持
  • 7.8 小结
  • 第8章 使用Spring进行数据库交互
  • 8.1 简介
  • 8.2 MyBank应用程序的需求
  • 8.3 使用Spring JDBC模块开发MyBank应用程序
  • 8.3.1 配置数据源
  • 在Java EE环境中配置数据源
  • 8.3.2 创建使用Spring的JDBC模块类的DAO
  • 1.JdbcTemplate
  • 2.NamedParameterJdbcTemplate
  • 3.SimpleJdbcInsert
  • 4.BankApp类
  • 8.4 使用Hibernate开发MyBank应用程序
  • 8.4.1 配置SessionFactory 实例
  • 8.4.2 创建使用Hibernate API进行数据库交互的DAO
  • 8.5 使用Spring的事务管理
  • 8.5.1 MyBank的事务管理需求
  • 8.5.2 编程式事务管理
  • 8.5.3 声明式事务管理
  • 8.5.4 Spring对JTA的支持
  • 使用<jta-transaction-manager>元素配置JTA事务管理器
  • 8.6 使用基于Java的配置开发MyBank应用程序
  • 8.6.1 配置javax.sql.DataSource
  • 8.6.2 配置Hibernate的SessionFactory
  • 8.6.3 启用@Transactional支持
  • 8.7 小结
  • 第9章 Spring Data
  • 9.1 简介
  • 9.2 核心概念和接口
  • 9.3 Spring Data JPA
  • 9.3.1 代替存储库方法的自定义实现
  • 9.3.2 将自定义方法添加到存储库
  • 9.3.3 配置Spring Data JPA——基于Java的配置方法
  • 9.3.4 配置Spring Data JPA——基于XML的配置方法
  • 1.启用Spring Data JPA
  • 2.配置LocalContainerEntityManagerFactoryBean
  • 3.配置PlatformTransactionManager
  • 9.3.5 查询方法
  • 1.限制结果数量
  • 2.排序结果
  • 3.基于多个特性的查询
  • 4.为查询添加分页
  • 5.为查询添加排序
  • 6.对大型结果集进行分页
  • 7.流式查询结果
  • 8.异步执行查询方法
  • 9.使用@Query注解显式指定查询
  • 9.4 使用Querydsl创建查询
  • 9.4.1 将Spring Data与Querydsl集成
  • 9.4.2 构造Predicate
  • 9.5 按示例查询
  • 9.6 Spring Data MongoDB
  • 9.6.1 建模域实体
  • 9.6.2 配置Spring Data MongoDB——基于Java的配置
  • 9.6.3 配置Spring Data MongoDB——基于XML的配置
  • 9.6.4 创建自定义存储库
  • 9.6.5 将自定义方法添加到存储库
  • 9.6.6 使用Querydsl创建查询
  • 9.6.7 使用Query by Example创建查询
  • 9.7 小结
  • 第10章 使用Spring进行消息传递、电子邮件发送、异步方法执行和缓存
  • 10.1 简介
  • 10.2 MyBank应用程序的需求
  • 10.3 发送JMS消息
  • 10.3.1 配置ActiveMQ代理以在内嵌模式下运行
  • 10.3.2 配置一个JMS ConnectionFactory
  • 10.3.3 使用JmsTemplate发送JMS消息
  • 10.3.4 在事务中发送JMS消息
  • 10.3.5 动态JMS目标和JmsTemplate配置
  • 10.3.6 JmsTemplate和消息转换
  • 10.4 接收JMS消息
  • 10.4.1 使用JmsTemplate同步接收JMS消息
  • 10.4.2 使用消息侦听器容器异步接收JMS消息
  • 10.4.3 使用@JmsListener注册JMS侦听器端点
  • 10.4.4 使用spring-messaging模块的消息传递
  • 10.5 发送电子邮件
  • 10.5.1 使用MimeMessageHelper准备MIME消息
  • 10.5.2 使用MimeMessagePreparator准备MIME消息
  • 10.6 任务调度和异步执行
  • 10.6.1 TaskExecutor 接口
  • 10.6.2 TaskScheduler 接口
  • 10.6.3 调度bean方法的执行
  • 10.6.4 @Async和@Scheduled注解
  • 1.@Async注解
  • 2.@Scheduled注解
  • 10.7 缓存
  • 10.7.1 配置一个CacheManager
  • 10.7.2 缓存注解——@Cacheable、@CacheEvict和@CachePut
  • 1.@Cacheable
  • 2.@CacheEvict
  • 3.@CachePut
  • 10.7.3 使用Spring cache模式进行缓存配置
  • 10.8 运行MyBank应用程序
  • 10.9 小结
  • 第11章 面向切面编程
  • 11.1 简介
  • 11.2 一个简单的AOP示例
  • 11.3 Spring AOP框架
  • 11.3.1 代理的创建
  • 11.3.2 expose-proxy特性
  • 11.4 切入点表达式
  • 11.4.1 @Pointcut注解
  • 11.4.2 execution 和args 切入点指示符
  • 将目标方法的参数传递给一个通知
  • 11.4.3 bean切入点指示器
  • 11.4.4 基于注解的切入点指示符
  • 11.5 通知类型
  • 11.5.1 前置通知
  • 11.5.2 返回后通知
  • 11.5.3 抛出后通知
  • 11.5.4 后置通知
  • 11.5.5 围绕通知
  • 11.5.6 通过实现特殊接口创建通知
  • 11.6 Spring AOP - XML模式样式
  • 11.6.1 配置一个AOP切面
  • 11.6.2 配置一个通知
  • 1.配置一个返回后通知
  • 2.配置一个抛出后通知
  • 11.6.3 将切入点表达式与通知相关联
  • 11.7 小结
  • 第12章 Spring Web MVC基础知识
  • 12.1 简介
  • 12.2 示例Web项目的目录结构
  • 12.3 了解“Hello World”网络应用程序
  • 12.3.1 HelloWorldController.java——Hello World Web应用程序的控制器类
  • 12.3.2 helloworld.jsp——展示“Hello World !!”消息的JSP页面
  • 12.3.3 myapp-config.xml——Web应用程序上下文XML文件
  • 12.3.4 web.xml——Web应用程序部署描述符
  • 12.4 DispatcherServlet——前端控制器
  • 访问ServletContext和ServletConfig对象
  • 12.5 使用@Controller和@RequestMapping注解开发控制器
  • 使用注解控制器开发“Hello World”Web应用程序
  • 12.6 MyBank Web应用程序的需求
  • 12.7 Spring Web MVC注解——@RequestMapping和 @RequestParam
  • 12.7.1 使用 @RequestMapping将请求映射到控制器或者控制器方法
  • 1. @RequestMapping注解和RequestMappingHandlerMapping
  • 2.基于请求路径映射请求
  • 3. 基于HTTP方法映射请求
  • 4.基于请求的参数映射请求
  • 5.基于请求的MIME类型映射请求
  • 6.根据响应可接受的MIME类型映射请求
  • 7.基于请求头的值映射请求
  • 12.7.2 @RequestMapping 注解方法的参数
  • 12.7.3 @RequestMapping 注解方法的返回类型
  • 12.7.4 使用@RequestParam将请求参数传递给控制器方法
  • 1.将所有的请求参数传递给控制器方法
  • 2.使用name属性指定请求参数的名称
  • 3.使用name特性指定请求参数的名称
  • 4.通过使用required特性来指定请求参数是可选的还是必需的
  • 5.使用defaultValue特性指定请求参数的默认值
  • 12.8 验证
  • 12.9 使用@ExceptionHandler注解处理异常
  • 12.10 加载根Web应用程序上下文XML文件
  • 12.11 小结
  • 第13章 Spring Web MVC中的验证和数据绑定
  • 13.1 简介
  • 13.2 使用@ModelAttribute注解添加和获取模型特性
  • 13.2.1 使用方法级的@ModelAttribute注解添加模型特性
  • 13.2.2 使用@ModelAttribute注解获取模型特性
  • 13.2.3 请求处理及@ModelAttribute注解的方法
  • 13.2.4 使用@ModelAttribute注解的方法参数的行为
  • 13.2.5 RequestToViewNameTranslator对象
  • 13.3 使用@SessionAttributes注解缓存模型特性
  • 13.4 Spring中对数据绑定的支持
  • 13.4.1 WebDataBinder——Web请求参数的数据绑定器
  • 13.4.2 配置WebDataBinder实例
  • 1.在控制器类中定义一个@InitBinder 注解的方法
  • 2.配置一个WebBindingInitializer实现
  • 3.在@ControllerAdvice注解的类中定义@InitBinder方法
  • 13.4.3 允许或禁止字段参与数据绑定过程
  • 13.4.4 使用BindingResult对象检查数据绑定和验证错误
  • 13.5 Spring中的验证支持
  • 13.5.1 使用Spring的Validator接口验证模型特性
  • 1.通过显式调用validate方法验证模型特性
  • 2.使用JSR 380的@Valid注解调用模型特性验证
  • 13.5.2 使用JSR 380注解指定约束
  • 13.5.3 使用JSR 380注解验证对象
  • 1.通过显式地调用validate方法验证模型特性
  • 2.使用JSR 380的@Valid注解调用模型特性验证
  • 13.6 Spring的form标签库
  • Spring的form标签库对HTML5的支持
  • 13.7 使用基于Java的配置方式来配置Web应用程序
  • 13.8 小结
  • 第14章 使用Spring Web MVC开发RESTful Web服务
  • 14.1 简介
  • 14.2 定期存款Web服务
  • 14.3 使用Spring Web MVC实现RESTful Web服务
  • 14.3.1 JSON (JavaScript对象表示法)
  • 14.3.2 FixedDepositWS Web服务的实现
  • 1.使用ResponseEntity指定HTTP响应
  • 2.使用HttpServletResponse指定HTTP响应
  • 3.使用@ResponseBody将方法的值返回给HTTP响应体
  • 4.使用@RequestBody将HTTP请求体绑定到方法参数
  • 5.使用@ResponseStatus设置HTTP响应状态
  • 6.使用@ExceptionHandler处理异常
  • 14.4 使用RestTemplate和WebClient访问RESTful Web服务
  • 14.4.1 RestTemplate 的配置
  • 14.4.2 使用RestTemplate访问FixedDepositWS Web服务
  • 14.4.3 使用WebClient异步访问RESTful Web服务
  • 14.5 使用HttpMessageConverter将Java对象与HTTP请求和响应相互转换
  • 14.6 @PathVariable和@MatrixVariable 注解
  • 14.7 小结
  • 第15章 Spring Web MVC进阶——国际化、文件上传和异步请求处理
  • 15.1 简介
  • 15.2 使用处理程序拦截器对请求进行预处理和后处理
  • 实现和配置处理程序拦截器
  • 15.3 使用资源束进行国际化
  • 15.3.1 MyBank Web应用程序的需求
  • 15.3.2 MyBank Web应用程序的国际化和本地化
  • 15.4 异步地处理请求
  • 15.4.1 异步请求处理配置
  • 15.4.2 从@RequestMapping方法返回Callable
  • 15.4.3 从@RequestMapping方法中返回DefferedResult
  • 1.@RequestMapping方法实现
  • 2.计算DeferredResult实例的结果
  • 3.异常处理
  • 15.4.4 设置默认超时时间
  • 15.4.5 拦截异步请求
  • 15.5 Spring中的类型转换和格式化支持
  • 15.5.1 创建自定义转换器
  • 15.5.2 配置和使用自定义转换器
  • 15.5.3 创建一个自定义的格式化器
  • 15.5.4 配置一个自定义格式化器
  • 15.5.5 创建AnnotationFormatterFactory以格式化仅使用@AmountFormat注解的字段
  • 15.5.6 配置AnnotationFormatterFactory 的实现
  • 15.6 Spring Web MVC中的文件上传支持
  • 15.6.1 使用CommonsMultipartResolver上传文件
  • 15.6.2 使用StandardServletMultipartResolver上传文件
  • 15.7 小结
  • 第16章 使用Spring Security保护应用程序
  • 16.1 简介
  • 16.2 MyBank Web应用程序的安全性需求
  • 16.3 使用Spring Security保护MyBank Web应用程序
  • 16.3.1 Web请求安全的配置
  • 1.DelegatingFilterProxy过滤器的配置
  • 2.配置Web请求安全
  • 16.3.2 身份认证配置
  • 16.3.3 使用Spring Security的JSP标签库保护JSP内容
  • 16.3.4 保护方法
  • 1.使用<global-method-security>元素配置方法级安全
  • 2.使用@Secured注解指定bean方法的安全性约束
  • 16.4 MyBank Web应用程序——使用Spring Security的ACL模块保护FixedDepositDetails实例
  • 16.4.1 部署和使用ch16-bankapp-db-security项目
  • 16.4.2 存储ACL和用户信息的数据库表
  • 1.ACL_CLASS表
  • 2.ACL_SID表
  • 3.ACL_OBJECT_IDENTITY表
  • 4.ACL_ENTRY表
  • 5.USERS表
  • 6.AUTHORITIES表
  • 16.4.3 用户认证
  • 16.4.4 Web请求安全
  • 16.4.5 JdbcMutableAclService配置
  • 16.4.6 方法级安全配置
  • 16.4.7 域对象实例的安全
  • 16.4.8 以编程方式管理ACL条目
  • 16.4.9 MutableAcl及安全性
  • 16.5 使用基于Java的配置方法配置Spring Security
  • 16.5.1 使用WebSecurityConfigurerAdapter类配置Web请求安全
  • 16.5.2 使用GlobalMethodSecurityConfiguration类配置方法级安全
  • 16.5.3 将DelegatingFilterProxy过滤器注册到ServletContext
  • 16.5.4 将DispatcherServlet和ContextLoaderListener注册到ServletContext
  • 16.6 小结
  • 第17章 Java的函数式编程
  • 17.1 简介
  • 17.2 命令式和函数式编程风格
  • 17.3 lambda表达式
  • 17.4 创建简单函数和高阶函数
  • 17.4.1 简单函数
  • 17.4.2 高阶函数
  • 17.5 流API
  • 17.5.1 中间操作和终结操作
  • 17.5.2 延迟求值
  • 17.5.3 顺序流和并行流
  • 17.6 方法引用
  • 17.7 小结
  • 第18章 RxJava 2的反应式编程
  • 18.1 简介
  • 18.2 反应式流
  • 心率监测应用程序
  • 情况1:未通过HeartbeatSubscriber的onNext方法调用Subscription的cancle方法
  • 情况2:未通过HeartbeatSubscriber的onNext方法调用Subscription的request方法
  • 18.3 冷发布者和热发布者
  • StockQuote应用程序
  • 18.4 背压
  • 18.5 小结
  • 第19章 用Spring WebFlux、Spring Data和Spring Security开发反应式RESTful Web服务
  • 19.1 简介
  • 19.2 Reactor和RxJava 2定义的反应式类型
  • 19.3 用Spring Data开发数据访问层
  • 19.3.1 Reactor
  • 定义反应式存储库
  • 配置Spring Data MongoDB
  • 测试数据访问层
  • 19.3.2 RxJava 2
  • 定义反应式存储库
  • 测试数据访问层
  • 19.4 使用Spring WebFlux开发Web层
  • 19.4.1 编写反应式Web控制器
  • 19.4.2 配置Spring WebFlux
  • 19.4.3 配置ServletContext
  • 19.4.4 使用WebClient与反应式RESTful Web服务交互
  • 19.4.5 使用服务器发送事件接收数据
  • 19.5 保护WebFlux应用程序的安全性
  • 19.6 小结
  • 附录A 下载和安装MongoDB数据库
  • A.1 下载并安装MongoDB数据库
  • 启动MongoDB数据库服务器
  • A.2 连接MongoDB数据库
  • 附录B 在Eclipse IDE中导入和运行示例项目
  • B.1 下载和安装Eclipse IDE和Tomcat 9
  • B.2 将示例项目导入Eclipse IDE中
  • B.2.1 将示例项目导入Eclipse IDE中
  • B.2.2 在Eclipse IDE中配置M2_REPO类路径变量
  • B.3 在Eclipse IDE中配置Tomcat 9服务器
  • B.4 在Tomcat 9服务器上部署Web项目
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。