7种启动Spring Boot项目的方式,一次性打包说给你听
今天重点来学习Spring Boot项目的7种启动方式。
第一种
也是最常见的本地启动的一种
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
这种方法就是执行main方法直接启动。也是我们大多数人本地启动的方法。
第二种
把项目打成jar包,然后使用命令
java -jar XXX.jar
还可以在此命令后天添加各种参数。比如说:指定端口、设置堆内存相关参数、多环境指定某个环境等。
第三种
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication springApplication=new SpringApplication(DemoApplication.class);
//可以自定义监听器等
springApplication.run(args);
}
}
第四种
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
这种方式更加灵活,比如说:ComponentScan
可以自定义包目录。
第五种
目录下进行启动,我们可以对jar进行解压
在META-INF目录下有个META-INF/MANIFEST.MF
文件,MANIFEST.MF
内容
这里注重于的是Start-Class就是我们的Application类。还有一个Main-Class,当一些老项目不能使用jar启动的时候,需要使用包目录下启动的情况,我们就可以这么来启动项目:
java org.springframework.boot.loader.JarLauncher
来启动我们的项目的。
第六种
war包启动:从 jar 切换成 war 打包方式有两种
第1种:
在
pom.xml
中修改或者添加war
创建
webapp/WEB-INF
目录(相对于src/main
)新建一个空的
web.xml
第2种:
1.在pom.xml
中修改或者添加<packaging>war</packaging>
2.在pom.xml
文件中添加插件
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
打成war包,启动方式
java -jar demo.war
第七种
原理是和main方法启动一样的。使用 maven命令;
mvn spring-boot:run