二.第一个SpringBoot工程
1.检查开发环境
以SpringBoot2.X为例
- IDEA2013+
- Spring5+
- Maven3.2+
- JDK8
- 编译环境
- 运行环境
2.创建工程
使用Maven创建一个Java工程
对于传统的web工程,需要创建赌赢的web工程,将其打成war包在web容器进行运行
对SpringBoot而言,只需要创建Java工程即可,打成jar包,内置web容器运行
3.POM配置
根据官方文档第10章查看基础配置
3-1 父工程配置
所有的SpringBoot工程都必须继承对应的父工程
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.14.RELEASE</version>
</parent>
3-2 配置web环境
在SpringBoot中存在大量的starter
每一个starter都相对于一个依赖库
如果工程使用的web工程,则需要导入对应的web的starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
3-3 Maven插件
可选配置,可以不配
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
4.编写主程序
主程序是每一个SpringBoot工程的入口
使用注解
@SpringBootApplication
标注在类上表示当前类是主程序类主程序的目的是为了快速的部署与启动当前的工程
内置了tomcat,启动主程序相当于启动了tomcat
默认情况下,主程序类自带扫包功能
会自动扫包主程序所在的包以及其所有的子包
如果需要扫包主程序包以外的注解
需要通过
@ComponentScan("包名")
注解进行实现理论上,主程序入口可以有无数个
但是,在实际开发中有且仅能有一个主程序
当使用多个主程序时,如果打包会报错
@SpringBootApplication
@ComponentScan("com.itany.boot.controller")
public class SpringBootMainApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootMainApplication.class,args);
}
}
5.编写Controller
@RestController
@RequestMapping("/hello")
public class HelloController {
@RequestMapping("/f1")
public String f1(){
return "<h1 style='color:green;'>Hello SpringBoot</h1>";
}
}
6.测试
运行主程序类,相当于启动tomcat
使用浏览器访问对应的请求即可
7.打包
将SpringBoot工程打成可执行jar包
首先进入到对应工程pom文件所在的位置
执行打包命令
mvn package
打包的时候会检查主程序入口
当项目中如果存在不止一个主程序
此时会报错
因此:一个项目有且仅能有一个主程序
打包成功之后,会生成对应的jar包
该jar包是一个可执行的jar包
进入到可执行jar包所在的位置
通过命令
java -jar xxx.jar
执行对应的jar包执行该jar包相当于执行了主程序
终端显示的内容与执行主程序显示的内容一致
运行成功之后,可以通过浏览器进行资源的访问