Spring Boot可以在7分钟内完成一个Web项目的搭建和运行,比Spring MVC效率高不少。本文针对两种不同的使用场景(Web与命令行程序),如何最快速的使用Spring Boot实现
只需要3个文件就可以构建一个完整项目,而且启动也不需要依赖第三方组件,直接执行命令
mvn clean package && java -jar target\boot-web-2.1.2.RELEASE.jar
pom.xml
文件<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>boot-web</artifactId>
<name>boot-web</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
spring-boot-maven-plugin
插件主要提供了3个方便功能
public static void main()
方法所在的类,并标注为可运行类HelloController.java
@RestController
public class HelloController {
@GetMapping("/")
public String index() {
return "Hello World!";
}
}
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
mvn clean package && java -jar target\boot-web-2.1.2.RELEASE.jar
利用SpringBoot使用jar包发布的特性,可以非常方便地实现后台命令行程序。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>boot-cmd</artifactId>
<name>boot-cmd</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
};
}
}
mvn clean package && java -jar target\boot-cmd-2.1.2.RELEASE.jar
spring-boot-starter-web
,需要换成spring-boot-starter