开始
如果您正在开始使用Spring Boot或“Spring”,请从阅读本节开始,它包括对Spring Boot的介绍以及安装说明。
1构建Springboot项目-核心原则
Springboot介绍
Spring Boot帮助您创建可以运行的独立、生产级基于Spring的应用程序
为所有Spring开发提供一种快速且可广泛访问的入门体验。
不要固执己见,但当需求开始偏离默认值时,要迅速让路。
提供一系列大型项目通用的非功能特性(如嵌入式服务器、安全性、度量、运行状况检查和外部化配置)。
绝对没有代码生成,也不需要XML配置。
Spring Boot支持以下嵌入式servlet容器:
Name | Servlet Version |
---|---|
Tomcat 9.0 | 4.0 |
Jetty 9.4 | 3.1 |
Jetty 10.0 | 4.0 |
Undertow 2.0 | 4.0 |
安装
1 检查版本
$ java -version
2 cli工具安装-The Spring Boot CLI
3 Maven 安装
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
</parent>
<!-- Additional lines to be added here... -->
</project>
4 Gradle安装
org.springframework.boot group
5 SDKMAN安装
$ sdk install springboot
$ spring --version
Spring CLI v2.7.1
sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.7.1-bin/spring-2.7.1/
$ sdk default springboot dev
$ spring --version
Spring CLI v2.7.1
$ sdk ls springboot
================================================================================
Available Springboot Versions
================================================================================
> + dev
* 2.7.1
================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
添加依赖-tomcat web server
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
运行
@RestController
@EnableAutoConfiguration
public class MyApplication {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController and @RequestMapping
MyApplication类上的第一个注释是@RestController。这被称为构造型注释。它为阅读代码的人和Spring提供了类扮演特定角色的提示
@RequestMapping注释提供“路由”信息。它告诉Spring,任何带有/路径的HTTP请求都应该映射到home方法。@RestController注释告诉Spring将结果字符串直接呈现给调用者
@RestController和@RequestMapping注释是Spring MVC注释(它们并不特定于Spring引导)
@EnableAutoConfiguration
第二个类级注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据您添加的jar依赖关系“猜测”您想要如何配置Spring。由于spring boot starter web添加了Tomcat和spring MVC,因此自动配置假定您正在开发web应用程序,并相应地设置spring
Main方法
我们应用程序的最后一部分是main方法。这是一个遵循Java约定的标准方法,用于应用程序入口点。我们的主要方法通过调用run委托给Spring Boot的SpringApplication类。SpringApplication引导我们的应用程序,启动Spring,然后启动自动配置的Tomcat web服务器。我们需要通过我的申请。类作为run方法的参数,告诉SpringApplication哪个是主要的Spring组件。还传递args数组以公开任何命令行参数。
运行
$ mvn spring-boot:run
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.7.1)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 2.222 seconds (JVM running for 6.514)