面试题回顾:Spring MVC 怎么使用xml传参?

简介: 面试题回顾:Spring MVC 怎么使用xml传参?

Spring MVC 怎么使用xml传参?这是我之前面试遇到的一个问题,由于一直都是使用JSON传参没用过xml传参,这个问题还真不知道。。。

所以今天学习记录一下。

xml传参主要有两个步骤:

1、在controller方法的RequestMapping注解中限制接收类型为application/xml

2、在controller方法的接收类上加XmlRootElement或者JacksonXmlRootElement注解


如果使用JacksonXmlRootElement注解要引入JacksonXmlRootElement相关依赖

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.13.1</version>
</dependency>

这里只使用XmlRootElement注解测试,感兴趣的可以试试JacksonXmlRootElement注解测试。


示例:


1、新建一个pojo对象用于接收参数

@XmlRootElement注解的name对应着xml中根节点的名字, javax.xml.bind.annotation包下有很多注解,如果遇到问题可以去看看源码,说不定哪个注解就能解决你的问题了呢。

如果使用jackson-dataformat-xml的话XmlRootElement注解就要换成JacksonXmlRootElement注解,

@Data
@XmlRootElement(name = "userList")
public class UserXmlDTO {
    private Long userId;
    private String userName;
}

2、新建xml以便CV使用

<?xml version="1.0" encoding="UTF-8"?>
<userList>
    <userId>1</userId>
    <userName>name</userName>
</userList>

3、新建controller进行测试

要把接收参数类型设置为MediaType.APPLICATION_XML_VALUE,使用@ResponseBody将返回值以xml的形式返回。

@Controller
@RequestMapping("/test")
public class TestController {
    @PostMapping(value= "testXmlParam" , consumes = MediaType.APPLICATION_XML_VALUE , produces = MediaType.APPLICATION_XML_VALUE)
    @ResponseBody
    public UserXmlDTO testXmlParam(@RequestBody UserXmlDTO userXmlDTO){
        System.out.println(userXmlDTO);
        return userXmlDTO;
    }
}

4、通过postman进行测试image.png

Spring MVC 使用xml传参问题就解决了。

能力一般,水平有限,如有错误,请多指出。

如果对你有用点个关注给个赞呗

目录
相关文章
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3112 1
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
942 0
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
871 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
516 2
|
XML Java 数据格式
【SpringFramework】Spring IoC-基于XML的实现
本文主要讲解SpringFramework中IoC和DI相关概念,及基于XML的实现方式。
329 69
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
1059 1
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
522 6
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
828 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
Java 关系型数据库 数据库
京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?
45岁老架构师尼恩分享了Spring事务的核心知识点,包括事务的两种管理方式(编程式和声明式)、@Transactional注解的五大属性(transactionManager、propagation、isolation、timeout、readOnly、rollbackFor)、事务的七种传播行为、事务隔离级别及其与数据库隔离级别的关系,以及Spring事务的10种失效场景。尼恩还强调了面试中如何给出高质量答案,推荐阅读《尼恩Java面试宝典PDF》以提升面试表现。更多技术资料可在公众号【技术自由圈】获取。
|
XML Java 数据格式
spring复习02,xml配置管理bean
详细讲解了Spring框架中基于XML配置文件管理bean的各种方式,包括获取bean、依赖注入、特殊值处理、属性赋值、集合类型处理、p命名空间、bean作用域及生命周期和自动装配。
spring复习02,xml配置管理bean