Spring Boot的被@SpringBootApplication注解的App.java必须放在所有的RestController的根路径的package下
打包部署:pom添加依赖,目的是屏蔽自带的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
这个是避免maven检查。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
把pom里面的jar改成war
application的入口改一下
@SpringBootApplication
@MapperScan("com.ym.test.mapper")
public class TestApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TestApplication.class);
}
}
然后idea后面的maven点一下,package就完事了。
如果服务器上同一个tomcat部署了多个sb项目,需要在application.yml 加上如下配置
跨域问题:在需要的请求上加
@CrossOrigin
@CrossOrigin
@RequestMapping("/test")
Map<String,String> index(
@RequestBody Map<String,String> map
) {
String userid=map.get("userid");
String time=map.get("time");
testService.insert(userid,time);
String s = "success";
Map<String,String> res = new HashMap<>();
res.put("RESULT",s);
return res;
}
服务器tomcat版本过低可能会出现jar冲突,比如javax.el-api.jar这个包,更新下tomcat里面这个包就行了。