Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧的自动检测_Java_Spring_Spring Mvc_Jackson - Fatal编程技术网

Java 弹簧的自动检测

Java 弹簧的自动检测,java,spring,spring-mvc,jackson,Java,Spring,Spring Mvc,Jackson,我正在从事一个使用Spring框架和Jackson的项目。然而,我没能找到一个地方,在那里它被堵塞了。我在web上查看了许多示例,其中大多数使用类beanorg.springframework.http.converter.json.MappingJacksonHttpMessageConverter,以允许反序列化@ResponseBody。 因此,我找不到对映射JacksonHttpMessageConverter的任何引用 我的问题:如果spring框架在其类路径上找到Jackson来将J

我正在从事一个使用Spring框架和Jackson的项目。然而,我没能找到一个地方,在那里它被堵塞了。我在web上查看了许多示例,其中大多数使用类bean
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
,以允许反序列化
@ResponseBody
。 因此,我找不到对
映射JacksonHttpMessageConverter
的任何引用

我的问题:如果spring框架在其类路径上找到Jackson来将JSON转换为
@ResponseBody
对象,它会自动使用Jackson吗


启用Jackson的其他方法有哪些?

如果您使用
@EnableWebMvc
或使用标签
通过XML连接spring项目,则可以启用一系列功能。您可以在中阅读功能的详细列表

启用的功能之一是支持
@RequestBody
方法参数和
@ResponseBody
方法返回值。这是通过
HttpMessageConverter
组件完成的,并且该功能对于使用
@RequestMapping
@ExceptionHandler
注释的方法启用

以下列出了默认情况下注册的转换器:

  • ByteArrayHttpMessageConverter
    转换字节数组
  • StringHttpMessageConverter
    转换字符串
  • ResourceHttpMessageConverter
    为所有媒体类型转换为org.springframework.core.io.Resource
  • SourceHttpMessageConverter
    转换为javax.xml.transform.Source
  • FormHttpMessageConverter
    将表单数据转换为多值映射或从多值映射转换为表单数据
  • Jaxb2RootElementHttpMessageConverter
    将Java对象转换为XML或从XML转换为XML-如果类路径上存在JAXB2,则添加此选项
  • MappingJackson2HttpMessageConverter
    (或
    MappingJacksonHttpMessageConverter
    )将JSON转换为JSON或从JSON转换为JSON-如果类路径上存在Jackson 2(或Jackson),则添加JSON
  • AtomFeedHttpMessageConverter
    转换Atom提要-如果类路径上存在Rome,则添加
  • RssChannelHttpMessageConverter
    转换RSS源-如果类路径上存在Rome,则添加
因此,如果在类路径上有一个支持web的项目,并且Jackson可用,Spring将自动转换控制器方法的返回值,该方法用
@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.Source
  • FormHttpMessageConverter
    将表单数据转换为多值映射或从多值映射转换为表单数据
  • Jaxb2RootElementHttpMessageConverter
    将Java对象转换为XML或从XML转换为XML-如果类路径上存在JAXB2,则添加此选项
  • MappingJackson2HttpMessageConverter
    (或
    MappingJacksonHttpMessageConverter
    )将JSON转换为JSON或从JSON转换为JSON-如果类路径上存在Jackson 2(或Jackson),则添加JSON
  • AtomFeedHttpMessageConverter
    转换Atom提要-如果类路径上存在Rome,则添加
  • RssChannelHttpMessageConverter
    转换RSS源-如果类路径上存在Rome,则添加
  • 因此,如果在类路径上有一个支持web的项目,并且Jackson可用,Spring将自动转换控制器方法的返回值,该方法用
    @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吗?谢谢!+一些字符:)