Spring 5之后的webmvc Rest服务指南-未找到类型为的返回值的转换器

Spring 5之后的webmvc Rest服务指南-未找到类型为的返回值的转换器,spring,spring-mvc,spring-restcontroller,Spring,Spring Mvc,Spring Restcontroller,我是Spring.io的追随者 简言之,我遵循上述指南,但使用Tomcat进行部署和执行 我已经看了一些关于这个问题的问题和答案。 还有其他一些 我在Greeting类中有getter方法,但没有setter。这正是指南上的课程内容 我尝试在pom.xml上添加FasterXMLJSON依赖项,但错误消息是相同的 我的所有设置与指南完全相同,只是应用程序是由dispatch-servlet.xml而不是main方法引导的 web.xml <servlet> <

我是Spring.io的追随者

简言之,我遵循上述指南,但使用Tomcat进行部署和执行

我已经看了一些关于这个问题的问题和答案。

还有其他一些

我在Greeting类中有getter方法,但没有setter。这正是指南上的课程内容

我尝试在pom.xml上添加FasterXMLJSON依赖项,但错误消息是相同的

我的所有设置与指南完全相同,只是应用程序是由dispatch-servlet.xml而不是main方法引导的

web.xml

    <servlet>
    <servlet-name>greeting</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>greeting</servlet-name>
    <url-pattern>/greeting/*</url-pattern>
  </servlet-mapping>
我不认为这是获得者的问题,我肯定有他们。 也不是没有fasterxml依赖关系的问题


我缺少什么?

您肯定需要主要方法:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
@SpringBootApplication注释的作用比您想象的要大。最重要的是calls@EnableAutoConfiguration. 这用于确定您在项目中执行的其他依赖项。在您的例子中,注释将配置Jackson将Java对象解析为JSON

直接从JavaDoc:

启用Spring应用程序上下文的自动配置, 尝试猜测和配置您可能需要的bean。 自动配置类通常基于类路径应用 以及您定义的bean。例如,如果你有 tomcat-embedded.jar在类路径上可能需要 TomcatEmbeddedServletContainerFactory,除非您已定义 自己的EmbeddedServletContainerFactorybean

如果您仍然认为创建war文件是一个好主意,请检查是否可以帮助您使用plain Spring设置Jackson

编辑:如何在没有Tomcat的情况下运行Spring Boot 你可以,医生说这样做:

    ..
    <packaging>war</packaging> 
    ..

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
从理论上讲,你应该很乐意去,但事实可能并非如此,所以请查看下面的例子


这些人也遇到了一些问题,所以。

在Tomcat上部署的应用程序是否与EableAutoConfiguration或SpringBootApplication相当?我可以在当前设置/代码中使用任何注释来实现相同的效果吗?
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
    ..
    <packaging>war</packaging> 
    ..

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>