项目结构
./grdlew bootRun
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>
运行: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); } }
我们的Example类的第一个注释是@RestController。这被称为构造型注释。它为阅读代码的人提供了提示,而为Spring提供了特定角色的提示。在这种情况下,我们的类是一个Web @Controller,所以Spring在处理传入的Web请求时会考虑它。
@RequestMapping注释提供“路由”信息。它告诉Spring,任何带有/path的HTTP请求都应该映射到home方法。 @RestController注释告诉Spring将结果字符串直接渲染回调用者。
@RestController和@RequestMapping注释是Spring MVC注释。 (它们不是Spring Boot特有的。
mvn spring-boot:run
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
的jarjar tvf myproject-0.0.1-SNAPSHOT.jar
查看jar中的内容 ,或者jar -xvf xx.jar
解压缩查看java -jar myproject-0.0.1-SNAPSHOT.jar
可以运行jar包
原文:https://www.cnblogs.com/fubinhnust/p/11930677.html