查看原文
其他

7种启动Spring Boot项目的方式,一次性打包说给你听

田维常 Java后端技术全栈 2021-08-29

关注“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种:

  1. pom.xml中修改或者添加war

  2. 创建webapp/WEB-INF 目录(相对于src/main)

  3. 新建一个空的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


推荐阅读:

《Spring Cloud与Docker微服务架构实战》.pdf

《Go语言实战》.pdf

《分布式Java应用基础与实践》.pdf

    : . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存