maven配置
打包类型改为
<packaging>war</packaging>
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
修改启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication
public class JpaApplication extends SpringBootServletInitializer {
/** Tomcat 发布 extends SpringBootServletInitializer */
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(JpaApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(JpaApplication.class, args);
}
controller
@RestController
public class JpaController {
@GetMapping("/hello")
public String hello(){
System.out.println("JpaController.hello 11111");
return "public String hello()";
}
}
端口号
这里说的端口是如果你在resource文件夹下修改了spring boot默认的8080端口(假设我这里改成了7777),那么打开 Tomcat–>conf–>server.xml文件 在8080端口底下加入如下配置
<Connector port="7777" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
注意 这个只是添加一个端口号,意思是8080,7777,都可以访问到,想不同端口,访问不同项目,点击
测试
把spring boot项目打包成 war 包(名字假设为springBoot-0.0.1-SNAPSHOT.war),直接拷贝到 Tomcat –>webapps 文件夹下
直接运行bin目录下的 startup.bat 文件 ,浏览器输入 http://127.0.0.1:7777/springBoot-0.0.1-SNAPSHOT/hello 即可看到返回值 public String hello()
附带
这里顺便讲一下spring boot 其他几种启动方式
第一 直接工具里面启动,不多说
第二 cmd命令窗口
找到 项目根目录 ,执行命令 mvn spring-boot:run
如下图,项目名字为 jpa (切到src这一级目录下)
第三 直接运行jar包
直接运行 java -jar jpa-0.0.1-SNAPSHOT.war 当然了,这个运行方式,是war包,也是一样