欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot从入门到放弃-消息转换器

程序员文章站 2022-07-12 19:41:00
...

目录:

第一个程序 hello World

Spring Boot 关闭某些自动配置

Spring Boot 修改banner

Spring Boot 全局配置文件

Spring Boot 从入门到放弃-获取自定义配置

Spring Boot 整合测试

Spring Boot Application与Controller分离

Spring Boot 日志文件

Spring Boot 自定义日志文件

Spring Boot 开发模式

Spring Boot 访问静态资源(以HTML为例)

摘要:

     在WEB应用开发中,我们页面需要和后端进行数据交互,数据的编码格式容易对传输数据进行干扰,导致乱码问题,所以在SpringMVC中可以在XML文件中配置消息转换器对交互的数据进行字符集处理,然而Spring Boot不推荐使用XML文件,那么问题来了,怎么对Spring Boot进行消息转换器配置。

其实,Spring Boot已经为我们配置了消息转换器,所以我们不配置也没关系,但是作为一个不拘的程序员,我们肯定要自定义才显得自己高大上呀!

代码:

以@ResponseBody返回中文字符串为例(UTF-8):

package com.edu.usts.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.nio.charset.Charset;

/**
 * create by hgz
 * 2019.12.4 21点13分
 */

@Controller
public class IndexController {

//    返回路径为"/ "即访问地址为:http://localhost:8080/
    @RequestMapping("/")
    @ResponseBody
    public String index(){
        return "消息转换器测试!";
    }

    //定义消息转换器
//    Spring Boot 默认配置了消息转换器
    @Bean
    public StringHttpMessageConverter stringHttpMessageConverter(){
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        return converter;
    }

}

截图:

Spring Boot从入门到放弃-消息转换器

正常使用UTF-8成功。

Spring Boot从入门到放弃-消息转换器

改成GBK则出现乱码。

可以修改 Charset.forName("UTF-8") 进行字符集修改,我们改成gbk试试。

Spring Boot从入门到放弃-消息转换器

成功将数据交互的字符集改成gbk格式。

注意:

在消息转换器方法上需要加上@Bean注解。

源码gitee地址:

https://gitee.com/jockhome/springboot

相关标签: JavaWeb Spring Boot