Java 弹簧的自动检测
我正在从事一个使用Spring框架和Jackson的项目。然而,我没能找到一个地方,在那里它被堵塞了。我在web上查看了许多示例,其中大多数使用类beanJava 弹簧的自动检测,java,spring,spring-mvc,jackson,Java,Spring,Spring Mvc,Jackson,我正在从事一个使用Spring框架和Jackson的项目。然而,我没能找到一个地方,在那里它被堵塞了。我在web上查看了许多示例,其中大多数使用类beanorg.springframework.http.converter.json.MappingJacksonHttpMessageConverter,以允许反序列化@ResponseBody。 因此,我找不到对映射JacksonHttpMessageConverter的任何引用 我的问题:如果spring框架在其类路径上找到Jackson来将J
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
,以允许反序列化@ResponseBody
。
因此,我找不到对映射JacksonHttpMessageConverter
的任何引用
我的问题:如果spring框架在其类路径上找到Jackson来将JSON转换为@ResponseBody
对象,它会自动使用Jackson吗
启用Jackson的其他方法有哪些?如果您使用
@EnableWebMvc
或使用标签
通过XML连接spring项目,则可以启用一系列功能。您可以在中阅读功能的详细列表
启用的功能之一是支持@RequestBody
方法参数和@ResponseBody
方法返回值。这是通过HttpMessageConverter
组件完成的,并且该功能对于使用@RequestMapping
或@ExceptionHandler
注释的方法启用
以下列出了默认情况下注册的转换器:
转换字节数组ByteArrayHttpMessageConverter
转换字符串StringHttpMessageConverter
为所有媒体类型转换为org.springframework.core.io.ResourceResourceHttpMessageConverter
转换为javax.xml.transform.SourceSourceHttpMessageConverter
将表单数据转换为多值映射或从多值映射转换为表单数据FormHttpMessageConverter
将Java对象转换为XML或从XML转换为XML-如果类路径上存在JAXB2,则添加此选项Jaxb2RootElementHttpMessageConverter
(或MappingJackson2HttpMessageConverter
)将JSON转换为JSON或从JSON转换为JSON-如果类路径上存在Jackson 2(或Jackson),则添加JSONMappingJacksonHttpMessageConverter
转换Atom提要-如果类路径上存在Rome,则添加AtomFeedHttpMessageConverter
转换RSS源-如果类路径上存在Rome,则添加RssChannelHttpMessageConverter
@ResponseBody
注释(如果客户端调用方接受JSON,这意味着接受头通常必须设置为application/JSON
)
如果要覆盖HttpMessageConverter
s,可以实现以下功能:
@Configuration
@EnableWebMvc
public class YourConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(
List<HttpMessageConverter<?>> converters) {
// Do your magic, override your stuff
}
}
@配置
@EnableWebMvc
公共类YourConfiguration扩展WebMVCConfigureAdapter{
@凌驾
公共无效配置MessageConverters(
列表如果您使用@EnableWebMvc
或使用标记
通过XML连接spring项目,则可以启用一系列功能。您可以在中阅读功能的详细列表
启用的功能之一是支持@RequestBody
方法参数和@ResponseBody
方法返回值。这是通过HttpMessageConverter
组件完成的,并且该功能对于使用@RequestMapping
或@ExceptionHandler
注释的方法启用
以下列出了默认情况下注册的转换器:
ByteArrayHttpMessageConverter
转换字节数组
StringHttpMessageConverter
转换字符串
ResourceHttpMessageConverter
为所有媒体类型转换为org.springframework.core.io.Resource
SourceHttpMessageConverter
转换为javax.xml.transform.SourceFormHttpMessageConverter
将表单数据转换为多值映射或从多值映射转换为表单数据Jaxb2RootElementHttpMessageConverter
将Java对象转换为XML或从XML转换为XML-如果类路径上存在JAXB2,则添加此选项MappingJackson2HttpMessageConverter
(或MappingJacksonHttpMessageConverter
)将JSON转换为JSON或从JSON转换为JSON-如果类路径上存在Jackson 2(或Jackson),则添加JSONAtomFeedHttpMessageConverter
转换Atom提要-如果类路径上存在Rome,则添加RssChannelHttpMessageConverter
转换RSS源-如果类路径上存在Rome,则添加@ResponseBody
注释(如果客户端调用方接受JSON,这意味着接受头通常必须设置为application/JSON
)
如果要覆盖HttpMessageConverter
s,可以实现以下功能:
@Configuration
@EnableWebMvc
public class YourConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(
List<HttpMessageConverter<?>> converters) {
// Do your magic, override your stuff
}
}
@配置
@EnableWebMvc
公共类YourConfiguration扩展WebMVCConfigureAdapter{
@凌驾
公共无效配置MessageConverters(
ListThank!这就是我要找的!如果我需要定制,我可以覆盖MappingJackson2HttpMessageConverter吗?谢谢!+一些字符:)谢谢!这就是我要找的!如果我需要定制,我可以覆盖MappingJackson2HttpMessageConverter吗?谢谢!+一些字符:)