一、独立部署到tomcat上
1.修改或新建maven工程时,<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--去掉对tomcat的依赖-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.新建类 Application (类名随意) 继承SpringBootServletInitializer 重写configure方法
@SpringBootApplication
public class Application extends SpringBootServletInitializer{
private static Logger logger = Logger.getLogger(Application.class);
@Override
public SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
/*main 方法可以去掉*/
public static void main(String[] args) throws Exception {
logger.debug("调试日志。。。。。");
SpringApplication.run(Application.class, args);
}
}
*******注意这个位置或路径 笔者被这个坑了一晚上 ********************
要将Application放在最外层,也就是要包含所有子包。
比如你的groupId是com.google,子包就是所谓的com.google.xxx,所以要将Application类要放在com.google包下。
springboot会自动加载启动类所在包下及其子包下的所有组件.
3.webapp目录下WEB-INF及web.xml可有可无。
4.测试类
@RestController
public class Controller1 {
@RequestMapping("/demo1")
@ResponseBody
public String demo1(){
return "你好";
}
}
5.最后打包成war放到tomcat即可。
访问:http://localhost:8080/工程名/demo1
-------------华丽的分割线-----------------------------------------------------------------------------------