我已经使用Spring创建了一个REST服务,并且无法理解如何将其部署到Tomcat服务器。
我熟悉将应用程序放在带有servlet映射的Tomcat实例上,但似乎这些都是在Java类的Spring注释中处理的。我在Gradle中启用了'war'
插件,一切似乎都输出正常。我只是感到困惑,因为Spring需要一个Application类来运行控制器,所以如何让它与web.xml文件一起工作呢?
我甚至可能没有走上正轨。我还阅读了有关将.jar部署为REST端点的内容,但我不知道从哪里开始。
如果有人能够高度概述一下需要做些什么才能获得Spring REST服务,例如在Tomcat实例上运行的here,我会非常感激。
Java 8 弹簧 Gradle 2.2.1 Windows 7
答案 0 :(得分:0)
你需要使用Spring servlet和spring上下文创建一个app(war包)(互联网上有很多教程)。您需要包含组件扫描(有关示例,请参阅此处http://www.mkyong.com/spring/spring-auto-scanning-components/中的文章)。
Spring扫描组件(和您的控制器)并识别@Controller或@RestController注释并自动将其分配给路由。这就是它:)。
答案 1 :(得分:0)
由于听起来您使用的是Spring Boot,因此您只需要将Tomcat依赖项标记为providedRuntime
,如http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-gradle-packaging所述:
...
apply plugin: 'war'
war {
baseName = 'myapp'
version = '0.5.0'
}
repositories {
jcenter()
maven { url "http://repo.spring.io/libs-snapshot" }
}
configurations {
providedRuntime
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
...
}
然后你的战争应该可以部署到外部Tomcat实例。