1: 需要的环境:
JDK:至少JDK7才支持Spring boot
maven:至少3.2
spring-boot:1.2.5.RELEASE(在pom.xml中指定)
2: 创建一个maven工程:其中pom.xml 文件如下:
<?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"
<!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 -->
</configuration>
</plugin>
</plugins>
</build>
</project>
spring-boot-starter-parent的具体作用,可以查看如下2个文件:它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签
已经定义好了很多包的依赖,可以统一项目的依赖,避免后续的版本冲突.
spring-boot-starter-parent-2.2.6.RELEASE.pom
spring-boot-dependencies-2.2.6.RELEASE.pom
当然我们自己可以覆盖掉parent中定义的一些依赖:
<properties>
<java.version>1.8</java.version>
</properties>
实际上,spring-boot-starter-web.jar这个jar引入5各方面的jar:
- spring-boot的启动jar:spring-boot-starter.jar
- tomcat相关jar(spring-boot-1.2.5-->tomcat8)
- jackson
- hiberbate-validator
- spring相关jar(spring-boot-1.2.5-->spring4.1)
使用 mvn clean compile 编译。
3. FirstBoot.java
package com.xxx.firstboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @RestController:spring mvcd的注解,
* 相当于@Controller与@ResponseBody的合体,可以直接返回json
*
* @EnableAutoConfiguration:spring boot的注解
* 是无配置启动的关键部分
*/
@RestController
@EnableAutoConfiguration
public class FirstBoot {
@RequestMapping("/hello")
public String testFirstMethod(){
return "Hello jigang!!!";
}
/**
* spring boot的入口,在整个项目中,包括其子项目在内,
* 只能有一个main方法,否则spring boot启动不起来
*/
public static void main(String[] args) {
SpringApplication.run(FirstBoot.class, args);
}
}
4. 启动Spring boot
首次启动,采用 “mvn spring-boot : run”(会下载一些东西)
之后启动,直接在主类(含有main方法)上 run as --> java application
之后在浏览器输入路径"http://localhost:8080/hello",输出信息"Hello jigang!!!",则成功!!!
5: 打包:
成可以执行的jar, 该jar将是在生产环境下可用的jar。
生产jar的过程依赖于引入的spring-boot-maven-plugin.jar(所以pom.xml要配置这个)。
执行"mvn package",查看target下的文件:可以生成jar包。
6: 运行打包好的jar
进入myboot文件夹下,执行命令"java -jar target/myboot-1.0-SNAPSHOT.jar",得出如下结果:
之后访问浏览器即可。
7:若不采用spring-boot-starter-parent做parent,想使用自己的parent,该怎么配置?
解决方案:
加入以下代码即可。
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
spring-boot-starter-parent
8: Springboot自动帮助创建Springboot工程,并添加依赖:https://start.spring.io/