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