Spring
为什么选择 Spring
概述 微服务 响应式 事件驱动 云原生 Web 应用 无服务器 批处理
学习
概述 快速入门 指南 博客
项目
概述 Spring Boot Spring 框架 Spring Cloud Spring Cloud Data Flow Spring Data Spring Integration Spring Batch Spring Security 查看所有项目
  • 开发工具
  • Spring Tools 4 Spring Initializr
    学院
    课程 获得认证
    解决方案
    概述 Spring Runtime Spring 咨询 Spring 团队学院 安全公告
    社区
    概述 活动 团队
    Spring Framework 6.2.6
      • 概述
      • 核心技术
        • IoC 容器
          • Spring IoC 容器和 Bean 简介
          • 容器概述
          • Bean 概述
          • 依赖项
            • 依赖注入
            • 依赖项和配置详情
            • 使用 depends-on
            • 延迟初始化 Bean
            • 自动装配协作者
            • 方法注入
          • Bean 作用域
          • 自定义 Bean 的特性
          • Bean 定义继承
          • 容器扩展点
          • 基于注解的容器配置
            • 使用 @Autowired
            • 使用 @Primary 或 @Fallback 微调基于注解的自动装配
            • 使用 Qualifiers 微调基于注解的自动装配
            • 使用泛型作为自动装配限定符
            • 使用 CustomAutowireConfigurer
            • 使用 @Resource 进行注入
            • 使用 @Value
            • 使用 @PostConstruct 和 @PreDestroy
          • 类路径扫描和托管组件
          • 使用 JSR 330 标准注解
          • 基于 Java 的容器配置
            • 基本概念:@Bean 和 @Configuration
            • 使用 AnnotationConfigApplicationContext 实例化 Spring 容器
            • 使用 @Bean 注解
            • 使用 @Configuration 注解
            • 组合基于 Java 的配置
          • 环境抽象
          • 注册 LoadTimeWeaver
          • ApplicationContext 的附加功能
          • BeanFactory API
        • 资源
        • 验证、数据绑定和类型转换
          • 使用 Spring 的 Validator 接口进行验证
          • 数据绑定
          • 将代码解析为错误消息
          • Spring 类型转换
          • Spring 字段格式化
          • 配置全局日期和时间格式
          • Java Bean 验证
        • Spring Expression Language (SpEL)
          • 评估
          • Bean 定义中的表达式
          • 语言参考
            • 字面量表达式
            • 属性、数组、列表、映射和索引器
            • 内联列表
            • 内联映射
            • 数组构造
            • 方法
            • 运算符
            • 类型
            • 构造函数
            • 变量
            • 函数
            • 可变参数调用
            • Bean 引用
            • 三元运算符 (If-Then-Else)
            • Elvis 运算符
            • 安全导航运算符
            • 集合选择
            • 集合投影
            • 表达式模板
          • 示例中使用的类
        • Spring 的面向切面编程
          • AOP 概念
          • Spring AOP 能力和目标
          • AOP 代理
          • @AspectJ 支持
            • 启用 @AspectJ 支持
            • 声明切面
            • 声明切入点
            • 声明通知
            • 引入
            • 切面实例化模型
            • 一个 AOP 示例
          • 基于 Schema 的 AOP 支持
          • 选择使用哪种 AOP 声明风格
          • 混合切面类型
          • 代理机制
          • 程序化创建 @AspectJ 代理
          • 在 Spring 应用中使用 AspectJ
          • 更多资源
        • Spring AOP API
          • Spring 中的 Pointcut API
          • Spring 中的 Advice API
          • Spring 中的 Advisor API
          • 使用 ProxyFactoryBean 创建 AOP 代理
          • 简洁的代理定义
          • 使用 ProxyFactory 程序化创建 AOP 代理
          • 操作增强对象
          • 使用“自动代理”功能
          • 使用 TargetSource 实现
          • 定义新的 Advice 类型
        • 空安全
        • 数据缓冲区和编解码器
        • 日志记录
        • AOT(预编译)优化
        • 附录
          • XML Schema
          • XML Schema 编写
          • 应用程序启动步骤
      • 数据访问
        • 事务管理
          • Spring 框架事务支持模型的优势
          • 理解 Spring 框架事务抽象
          • 将资源与事务同步
          • 声明式事务管理
            • 理解 Spring 框架的声明式事务实现
            • 声明式事务实现示例
            • 回滚声明式事务
            • 为不同的 Bean 配置不同的事务语义
            • <tx:advice/> 设置
            • 使用 @Transactional
            • 事务传播
            • 增强事务操作
            • 在 AspectJ 中使用 @Transactional
          • 编程式事务管理
          • 选择编程式还是声明式事务管理
          • 事务绑定的事件
          • 应用程序服务器特定集成
          • 常见问题解决方案
          • 更多资源
        • DAO 支持
        • 使用 JDBC 进行数据访问
          • 选择 JDBC 数据库访问方法
          • 包层级结构
          • 使用 JDBC 核心类控制基本 JDBC 处理和错误处理
          • 控制数据库连接
          • JDBC 批处理操作
          • 使用 SimpleJdbc 类简化 JDBC 操作
          • 将 JDBC 操作建模为 Java 对象
          • 参数和数据值处理的常见问题
          • 嵌入式数据库支持
          • 初始化 DataSource
        • 使用 R2DBC 进行数据访问
        • 对象关系映射 (ORM) 数据访问
          • Spring 的 ORM 简介
          • 通用 ORM 集成考量
          • Hibernate
          • JPA
        • 使用对象-XML 映射器进行 XML 编组
        • 附录
      • Servlet 栈上的 Web
        • Spring Web MVC
          • DispatcherServlet
            • 上下文层级结构
            • 特殊 Bean 类型
            • Web MVC 配置
            • Servlet 配置
            • 处理
            • 路径匹配
            • 拦截
            • 异常
            • 视图解析
            • 区域设置
            • 主题
            • Multipart 解析器
            • 日志记录
          • 过滤器
          • HTTP 消息转换
          • 注解控制器
            • 声明
            • 映射请求
            • 处理方法
              • 方法参数
              • 返回值
              • 类型转换
              • 矩阵变量
              • @RequestParam
              • @RequestHeader
              • @CookieValue
              • @ModelAttribute
              • @SessionAttributes
              • @SessionAttribute
              • @RequestAttribute
              • 重定向属性
              • Flash 属性
              • Multipart
              • @RequestBody
              • HttpEntity
              • @ResponseBody
              • ResponseEntity
              • Jackson JSON
            • Model
            • @InitBinder
            • 验证
            • 异常
            • 控制器通知
          • 函数式端点
          • URI 链接
          • 异步请求
          • CORS
          • 错误响应
          • Web 安全
          • HTTP 缓存
          • 视图技术
            • Thymeleaf
            • FreeMarker
            • Groovy Markup
            • 脚本视图
            • HTML 片段
            • JSP 和 JSTL
            • RSS 和 Atom
            • PDF 和 Excel
            • Jackson
            • XML 编组
            • XSLT 视图
          • MVC 配置
            • 启用 MVC 配置
            • MVC 配置 API
            • 类型转换
            • 验证
            • 拦截器
            • 内容类型
            • 消息转换器
            • 视图控制器
            • 视图解析器
            • 静态资源
            • 默认 Servlet
            • 路径匹配
            • 高级 Java 配置
            • 高级 XML 配置
          • HTTP/2
        • REST 客户端
        • 测试
        • WebSockets
          • WebSocket API
          • SockJS 回退
          • STOMP
            • 概述
            • 优势
            • 启用 STOMP
            • WebSocket 传输
            • 消息流
            • 注解控制器
            • 发送消息
            • 简单 Broker
            • 外部 Broker
            • 连接到 Broker
            • 点作为分隔符
            • 认证
            • 令牌认证
            • 授权
            • 用户目标
            • 消息顺序
            • 事件
            • 拦截
            • STOMP 客户端
            • WebSocket 作用域
            • 性能
            • 监控
            • 测试
        • 其他 Web 框架
      • 响应式栈上的 Web
        • Spring WebFlux
          • 概述
          • 响应式核心
          • DispatcherHandler
          • 注解控制器
            • @Controller
            • 映射请求
            • 处理方法
              • 方法参数
              • 返回值
              • 类型转换
              • 矩阵变量
              • @RequestParam
              • @RequestHeader
              • @CookieValue
              • @ModelAttribute
              • @SessionAttributes
              • @SessionAttribute
              • @RequestAttribute
              • Multipart 内容
              • @RequestBody
              • HttpEntity
              • @ResponseBody
              • ResponseEntity
              • Jackson JSON
            • Model
            • DataBinder
            • 验证
            • 异常
            • 控制器通知
          • 函数式端点
          • URI 链接
          • CORS
          • 错误响应
          • Web 安全
          • HTTP 缓存
          • 视图技术
          • WebFlux 配置
          • HTTP/2
        • WebClient
          • 配置
          • retrieve()
          • 交换
          • 请求体
          • 过滤器
          • 属性
          • 上下文
          • 同步使用
          • 测试
        • HTTP 接口客户端
        • WebSockets
        • 测试
        • RSocket
        • 响应式库
      • 测试
        • Spring 测试简介
        • 单元测试
        • 集成测试
        • JDBC 测试支持
        • Spring TestContext 框架
          • 关键抽象
          • 引导 TestContext 框架
          • TestExecutionListener 配置
          • 应用程序事件
          • 测试执行事件
          • 上下文管理
            • 使用 XML 资源进行上下文配置
            • 使用 Groovy 脚本进行上下文配置
            • 使用组件类进行上下文配置
            • 混合使用 XML、Groovy 脚本和组件类
            • 使用 Context Customizers 进行上下文配置
            • 使用 Context Initializers 进行上下文配置
            • 上下文配置继承
            • 使用环境配置文件进行上下文配置
            • 使用测试属性源进行上下文配置
            • 使用动态属性源进行上下文配置
            • 加载 WebApplicationContext
            • 使用 Web Mock
            • 上下文缓存
            • 上下文失败阈值
            • 上下文层级结构
          • 测试夹具的依赖注入
          • 测试中的 Bean 覆盖
          • 测试请求和会话作用域的 Bean
          • 事务管理
          • 执行 SQL 脚本
          • 并行测试执行
          • TestContext 框架支持类
          • 测试的 AOT(预编译)支持
        • WebTestClient
        • MockMvc
          • 概述
          • 设置选项
          • Hamcrest 集成
            • 静态导入
            • 配置 MockMvc
            • 设置功能
            • 执行请求
            • 定义预期
            • 异步请求
            • 流式响应
            • 过滤器注册
          • AssertJ 集成
            • 配置 MockMvcTester
            • 执行请求
            • 定义预期
            • MockMvc 集成
          • HtmlUnit 集成
            • 为什么需要 HtmlUnit 集成?
            • MockMvc 和 HtmlUnit
            • MockMvc 和 WebDriver
            • MockMvc 和 Geb
          • MockMvc 与端到端测试
          • 更多示例
        • 测试客户端应用程序
        • 附录
          • 注解
            • 标准注解支持
            • Spring 测试注解
              • @BootstrapWith
              • @ContextConfiguration
              • @WebAppConfiguration
              • @ContextHierarchy
              • @ContextCustomizerFactories
              • @ActiveProfiles
              • @TestPropertySource
              • @DynamicPropertySource
              • @TestBean
              • @MockitoBean 和 @MockitoSpyBean
              • @DirtiesContext
              • @TestExecutionListeners
              • @RecordApplicationEvents
              • @Commit
              • @Rollback
              • @BeforeTransaction
              • @AfterTransaction
              • @Sql
              • @SqlConfig
              • @SqlMergeMode
              • @SqlGroup
              • @DisabledInAotMode
            • Spring JUnit 4 测试注解
            • Spring JUnit Jupiter 测试注解
            • 测试的元注解支持
          • 更多资源
      • 集成
        • REST 客户端
        • JMS (Java 消息服务)
          • 使用 Spring JMS
          • 发送消息
          • 接收消息
          • 支持 JCA 消息端点
          • 注解驱动的监听器端点
          • JMS 命名空间支持
        • JMX
          • 将 Bean 导出到 JMX
          • 控制 Bean 的管理接口
          • 控制 Bean 的 ObjectName 实例
          • 使用 JSR-160 连接器
          • 通过代理访问 MBeans
          • 通知
          • 更多资源
        • 邮件
        • 任务执行和调度
        • 缓存抽象
          • 理解缓存抽象
          • 基于注解的声明式缓存
          • JCache (JSR-107) 注解
          • 基于 XML 的声明式缓存
          • 配置缓存存储
          • 插入不同的后端缓存
          • 如何设置 TTL/TTI/逐出策略/XXX 功能?
        • 可观察性支持
        • JVM 检查点恢复
        • CDS
        • 附录
      • 语言支持
        • Kotlin
          • 要求
          • 扩展
          • 空安全
          • 类和接口
          • 注解
          • Bean 定义 DSL
          • Web
          • 协程
          • 使用 Kotlin 的 Spring 项目
          • 入门
          • 资源
        • Apache Groovy
        • 动态语言支持
      • 附录
      • Java API
      • Kotlin API
      • Wiki
    编辑此页 GitHub 项目 Stack Overflow
    • Spring 框架
    • 测试
    • MockMvc
    • Hamcrest 集成

    Hamcrest 集成

    Plain MockMvc 提供了一个 API,可以使用 builder 风格的方法构建请求,并可以通过静态导入来启动。Hamcrest 用于定义预期,它提供了许多开箱即用的选项来满足常见需求。

    本节概要

    • 静态导入
    • 配置 MockMvc
    • 设置功能
    • 执行请求
    • 定义预期
    • 异步请求
    • 流式响应
    • 过滤器注册
    设置选项 静态导入
    • Spring 框架
      • 6.2.6
      • 6.1.19
      • 6.0.23
      • 7.0.0-M4
      • 7.0.0-SNAPSHOT
      • 6.2.7-SNAPSHOT
      • 6.1.20-SNAPSHOT
    • 相关 Spring 文档
      • Spring Boot
      • Spring 框架
      • Spring Cloud
        • Spring Cloud Build
        • Spring Cloud Bus
        • Spring Cloud Circuit Breaker
        • Spring Cloud Commons
        • Spring Cloud Config
        • Spring Cloud Consul
        • Spring Cloud Contract
        • Spring Cloud Function
        • Spring Cloud Gateway
        • Spring Cloud Kubernetes
        • Spring Cloud Netflix
        • Spring Cloud OpenFeign
        • Spring Cloud Stream
        • Spring Cloud Task
        • Spring Cloud Vault
        • Spring Cloud Zookeeper
      • Spring Data
        • Spring Data Cassandra
        • Spring Data Commons
        • Spring Data Couchbase
        • Spring Data Elasticsearch
        • Spring Data JPA
        • Spring Data KeyValue
        • Spring Data LDAP
        • Spring Data MongoDB
        • Spring Data Neo4j
        • Spring Data Redis
        • Spring Data JDBC & R2DBC
        • Spring Data REST
      • Spring Integration
      • Spring Batch
      • Spring Security
        • Spring Authorization Server
        • Spring LDAP
        • Spring Security Kerberos
        • Spring Session
        • Spring Vault
      • Spring AI
      • Spring AMQP
      • Spring CLI
      • Spring GraphQL
      • Spring for Apache Kafka
      • Spring Modulith
      • Spring for Apache Pulsar
      • Spring Shell
    • 所有文档...
    Spring

    Copyright © 2005 -Broadcom。保留所有权利。“Broadcom”一词指 Broadcom Inc. 和/或其子公司。
    使用条款 • 隐私政策 • 商标指南 • 致谢 • 您的加州隐私权 • Cookie 设置

    Apache®、Apache Tomcat®、Apache Kafka®、Apache Cassandra™ 和 Apache Geode™ 是 Apache Software Foundation 在美国和/或其他国家的商标或注册商标。Java™、Java™ SE、Java™ EE 和 OpenJDK™ 是 Oracle 和/或其关联公司的商标。Kubernetes® 是 Linux Foundation 在美国和其他国家的注册商标。Linux® 是 Linus Torvalds 在美国和其他国家的注册商标。Windows® 和 Microsoft® Azure 是 Microsoft Corporation 的注册商标。“AWS”和“Amazon Web Services”是 Amazon.com Inc. 或其关联公司的商标或注册商标。所有其他商标和版权均为其各自所有者的财产,仅用于信息目的。其他名称可能是其各自所有者的商标。

    在所有 Spring 文档中搜索