关注“Java后端技术全栈”
回复“000”获取大量电子书
今天重点来学习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
推荐阅读: