构建第一个Spring Boot程序
从官网下载骨架构建第一个Spring Boot程序
Spring Boot项目骨架生成
项目结构
./grdlew bootRun
Web程序编写
- Controller
- 需要配置扫描区域
- 访问时google的jsonview插件
jsonview
使用Maven从命令行构建第一个Spring Boot应用程序
创建POM文件
- 新建一个文件夹
SpringBoot
注意引入默认的
spring-boot-starter-parent
,会获得一些默认的特性,比如默认的编译级别java1.8,UTF-8编码,允许省略子模块的版本,repackage功能,默认插件等。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> </parent>
Spring Boot提供了许多“Starters”,可以将jar添加到类路径中。我们的示例应用程序已经在POM的父节中使用了spring-boot-starter-parent。 spring-boot-starter-parent是一个特殊的启动器,提供有用的Maven默认值。添加Classpath依赖
-
运行:
mvn dependency:tree
查看依赖树 -
再在POM文件中添加web启动器
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
再次运行
mvn dependency:tree
查看依赖树
编写简单的测试代码
- 创建多目录文件夹
mkdir -p src/main/java
- 新建文件
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(Example.class, args); } }
@RestController和@RequestMapping注解
-
我们的Example类的第一个注释是@RestController。这被称为构造型注释。它为阅读代码的人提供了提示,而为Spring提供了特定角色的提示。在这种情况下,我们的类是一个Web @Controller,所以Spring在处理传入的Web请求时会考虑它。
-
@RequestMapping注释提供“路由”信息。它告诉Spring,任何带有/path的HTTP请求都应该映射到home方法。 @RestController注释告诉Spring将结果字符串直接渲染回调用者。
@RestController和@RequestMapping注释是Spring MVC注释。 (它们不是Spring Boot特有的。
@EnableAutoConfiguration 注解
- 第二个类级别注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据你添加的jar依赖关系“猜测”你想要如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,因此自动配置假定您正在开发Web应用程序并相应地设置Spring
main方法
- 我们的应用程序的最后一部分是主要方法。这只是遵循应用程序入口点的Java约定的标准方法。我们的main方法通过调用run来委托Spring Boot的SpringApplication类。 SpringApplication引导我们的应用程序,启动Spring,然后启动自动配置的Tomcat Web服务器。我们需要将Example.class作为参数传递给run方法,以告诉SpringApplication是主要的Spring组件。 args数组也被传递以公开任何命令行参数。
运行
- 根目录执行:
mvn spring-boot:run
生成可执行的Jar文件
- 生成可执行的jar文件需要在POM文件中引入插件
spring-boot-maven-plugin
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
spring-boot-starter-parent POM包含配置以绑定重新打包目标。如果您不使用父POM,则需要自己声明此配置
- 执行
mvn package
,你会看到在target目录生成名为myproject-0.0.1-SNAPSHOT.jar
的jar - 执行
jar tvf myproject-0.0.1-SNAPSHOT.jar
查看jar中的内容 ,或者jar -xvf xx.jar
解压缩查看 - 执行
java -jar myproject-0.0.1-SNAPSHOT.jar
可以运行jar包