spring-boot - 部署到独立 Tomcat 时 Spring Boot 应用程序无法正常工作

标签 spring-boot spring-data-mongodb spring-data-rest

我关注了this tutorial .现在,如果我通过 Spring Boot 使用它,它可以工作,但是如果我尝试在 Apache Tomcat 7 上部署它(删除应用程序类),我会得到 404 响应。我也尝试过自己的配置 - 像这样:

@Configuration
public class MongoConfiguration {

    public @Bean MongoDbFactory mongoDbFactory() throws Exception {
        return new SimpleMongoDbFactory(new Mongo("127.0.0.1", 27017), "movies");
    }

    public @Bean MongoTemplate mongoTemplate() throws Exception {
        return new MongoTemplate(mongoDbFactory());
    }
}

它仍然不起作用。所以2个问题。
  • 如何在tomcat上运行(如何在tomcat上做简单的rest和run)
  • 如何通过注解配置 mongo(只是为了获取我的数据库)

  • 注意:默认情况下,它使用运行 Spring 启动的测试恶意软件,我可以通过简单的 Controller (而不是 @RepositoryRestResource )使其工作,但我希望能够 curl http://localhost:8080并通过选项获得响应。

    最佳答案

    你确定你关注了section on traditional deployments引导引用文档?根据您的描述,Spring Data REST 或 MongoDB 似乎没有工作,但部署根本没有真正工作。

    诀窍应该是让您必须实现一个特殊接口(interface)的主配置类,以便 servlet 容器可以找到引导的配置(示例取自引用文档):

    @Configuration
    @EnableAutoConfiguration
    @ComponentScan
    public class Application extends SpringBootServletInitializer {
    
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
      }
    }
    
    SpringBootServletInitializer是这里的关键方面,因为它是与传统 Web 应用程序的 Servlet 3 引导机制 Hook 的类型。引用文档也有 instructions关于如何使启动应用程序在 Servlet 3.0 之前的 Servlet 容器中工作。

    另请注意,当应用程序部署到独立容器中时,它通常不能通过根(即 http://localhost:8080/ )使用,而是以部署的 WAR 文件命名的专用上下文(例如 http://localhost:8080/my-app )。

    关于spring-boot - 部署到独立 Tomcat 时 Spring Boot 应用程序无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24815005/

    相关文章:

    json - 在 spring data rest 中序列化时获取惰性对象

    java - junit 流图 Java 8

    java - 找到多于一行具有给定标识符的行

    java - Mongo 嵌入式服务器 : the single instance is not primary in replica set

    java - Spring Data Mongo : How to save only date i. e。不是时间

    java - 是否可以在 Spring Data Rest 中使用和组合 WHERE 子句?

    java - 具有通用约束的 JSON Jackson

    java - Spring - 动态创建 JMSTemplates

    java - 如何在 Spring Data Mongodb 中进行 GroupBy 而不进行聚合?

    spring-data-rest - 如何在基于 Spring Data REST/Spring HATEOAS 的(微)服务之间建立关系?