最近两个项目都是用Springboot写后端接口,我们在创建springboot项目时,会选择运行包是jar还是war,当我们选择jar时,运行启动没问题,但是打成war包,就要配置很麻烦,但是修改成war后,发现运行启动不行了。期间公司组织了一次springboot 培训,恰巧培训中提到创建Springboot+JSP做一个web项目,而所需要依赖于war包运行。正巧也是符合我现在后端接口项目的运行方式,不想用jar!!!
1、pom.xml修改
2、在Application类中加入SpringApplicationBuilder方法,这里我就直接上代码
package com.shengda;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* .@MapperScan("com.shentong.*.mapper") 将项目中对应的mapper类的路径加入项目,和mapper里 的.java添加一个即可
* .@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan
* 1.@Configuration是搭配@Bean使用,两者可以创建一个简单的Spring配置类,可以用来代替相应的xml配置文件
* 2.@EnableAutoConfiguration 能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会 自动根据你的类路径和你的bean定义自动配置。
* 3.@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller
*/
@SpringBootApplication
public class TrafficlightMonitorApplication extends SpringBootServletInitializer {
/**
* .Description:打包成war
* .Author:Carl
* .@Date: 2018/9/18
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(TrafficlightMonitorApplication.class);
}
/**
* .Description:启动主函数
* .Author:QiongWu
* .@Date: 2018/9/18
*/
public static void main(String[] args) {
SpringApplication.run(TrafficlightMonitorApplication.class, args);
}
}
我以自己理解的方式表述了方法,很好的解决了当初我搭建的jar包的springboot项目,每次要切换配置打成war的麻烦。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有