1.创建一个spring项目
- 进入官网 start.spring.io
- 勾选打包方式 一般用maven project
- 勾选版本
- 在Dependencies 添加依赖 (添加web 和 actuator)
- 点击Generate CTRL+ 下载生成的骨架
- 解压缩 ->IDEA 打开项目
2.创建一个spring程序
1.在启动类上面添加@RestController(因为刚刚添加了web依赖)
2.在启动类写一个接口
@SpringBootApplication
@RestController
public class HelloSpringApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringApplication.class, args);
}
@RequestMapping("/hello")
public String Hello(){
return "hello spring!";
}
}
3.打开Terminal 使用命令访问 curl http://localhost:8080/hello
出现 hello spring
使用命令 curl http://localhost:8080/actuator/health
出现 {“status”:“UP”}表示正常
3.POM里面的spring-boot-maven-plugin进行依赖管理
1.自动生成的pom里面有很多依赖 并且dependency标签中并没有写版本号
其主要原因是因为他依赖的父标签 springboot-boot-start-parent 自带了很多依赖,他们会自动选取相应的版本并且不会产生冲突
org.springframework.boot spring-boot-starter-parent 2.5.42.使用命令
(1) mvn package -Dmaven.test.skip对项目进行打包(使用maven插件点击package也可以对项目进行打包)
(2) 打开target文件可以看到有两个hello spring项目的jar包 实际使用的包远远最原始的包,其原因是因为在打包过程中将项目依赖已经打包进去
(3) 使用 java -jar hello-spring-0.0.1-SNAPSHOT.jar 命令来运行jar包发现停掉IDEA上面的项目之后使用的jar包还是正常运行的
3.如果不继承spring-boot-start-parent怎么办
首先我们看到下面这个pom.xml里面已经没有了父依赖 但是我们在其中引入了
里面的spring-boot-dependencies依赖 并且在plugin中设置在repackage的时候才引入进来
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>geektime.demo</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name