今天重点来学习Spring Boot项目的7种启动方式。java
也是最多见的本地启动的一种web
@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}
这种方法就是执行main方法直接启动。也是咱们大多数人本地启动的方法。spring
把项目打成jar包,而后使用命令app
java -jar XXX.jar
webapp
还能够在此命令后天添加各类参数。好比说:指定端口、设置堆内存相关参数、多环境指定某个环境等。maven
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic 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@ComponentScanpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}
这种方式更加灵活,好比说:ComponentScan
能够自定义包目录。ide
目录下进行启动,咱们能够对jar进行解压spring-boot
在META-INF目录下有个META-INF/MANIFEST.MF
文件,MANIFEST.MF
内容学习
这里注重于的是Start-Class就是咱们的Application类。还有一个Main-Class,当一些老项目不能使用jar启动的时候,须要使用包目录下启动的状况,咱们就能够这么来启动项目:spa
java org.springframework.boot.loader.JarLauncher
来启动咱们的项目的。
war包启动:从 jar 切换成 war 打包方式有两种
第1种:
在pom.xml
中修改或者添加war
建立webapp/WEB-INF
目录(相对于src/main
)
新建一个空的web.xml
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