springbootapplication动态配置 SpringBoot项目中如何定制HTTP消息转换器?
SpringBoot项目中如何定制HTTP消息转换器?
要想自己个性定制HTTP消息转换器需要先明白了SpringBoot默认是怎莫做HTTP消息转换的的。
先来看我们只是平常工作中的新一个简单点let's请求:
这样当前端请求我们的API的时候,我们是如何能将网络传输的字节流序列化成我们是想的对象呢?任务业务处理后又是如何能返回数据呢?
HttpMessageConverter在SpringBoot框架下,是可以可以使用@RequestBody和@ResponseBody两个注解,四个能完成跪请报文到对象和对象到响应报文的转换,底层这种身形灵活的消息转换的机制,那就是Spring3.x中新化入的HttpMessageConverter即消息转换器机制。
然后打开任何三个集成主板了Spring-web功能的SpringBoot项目,都可以找到这个HttpMessageConvert:
可以看到他是一个接口类,和他在一个包下面有很多利用类,很有兴趣同学是可以debug跟出来把这块源码搞透,这个过程中大家还可以不去学习到很多关与序列化的知识。
源码解析:怎莫清楚SpringBoot中的默认convert
在项目的启动类上有一个@SpringBootApplication注解,点在里面会看到他是一系列注解的中有,其中有一个@EnableAutoConfiguration注解,再继续点进来栏里点:
发现到引入了一个类:AutoConfigurationImportSelector类,不再跟在里面有一个方法selectImports():
一直点击进入loadMetadata这个方法:
到这半步不会相信大家就模糊了他是怎莫读取的了:
再继续好好过下去就知道如何运行程序消息的默认convert,这里就不和大家说答案,我希望大家自己是可以跟到里面看看,收获是不一样的~
订制自己的convert清楚了消息转换器的原理以及SpringBoot中要如何加载的,我们就很清楚如何能去定做自己的消息转换器了,先实现自己的一个convert,可以继承AbstractHttpMessageConverter:
然后把定义,定义一个WebConfig类无法继承WebMvcConfigurer,把我们自定义的这个convert加进去:
不好算工作中,大家可能很多时候的确是需要自己去基于convert,用设置为的消息转换器就可以了,如果大家有自己特殊的方法的需求考虑到,要不然不我建议你就得自己去利用这个convert。
以上那就是跪求SpringBoot中要如何个性定制消息转换器的回答了,不足之处欢迎大家那些评论打交道,约定自学。
我是【java架构设计】,如果没有我的回答对您有帮助,欢迎转发点zan,我将缓慢为您可以提供Java领域品质良好内容!
springboot静态页面怎么连接数据库?
springboot静态页面再连接数据库的第一步是1.直接修改.properties,不使用设置数据源并且两步走,假如不不使用设置的数据源就可以不导入外部的数据源为数据库连接到做准备,2.SpringBootApplication类改注解,3.去添加数据源配置类,采用importpackage的就可以结束这一个步骤,4、给每个数据源生成SQLSessionFactory类,可以使用first数据源,连接first数据库,使用固定设置配置的Factory,实现第二个类,并参照basePackages的值生成气体Mapper类即可解决。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。