1.快速入门HelloWorld
1.1系统要求
-
Java8 使用
java -version
查看 -
Maven 3.3+ 使用
mvn -v
查看 -
必须查看idea中使用maven版本,因为idea自己默认绑定了一个maven3
1.2 创建maven工程引入依赖
<!--引入父项目用于版本控制-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<!--只要引入starter,不用分别导入相关依赖
Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container
-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.3</version>
</dependency>
</dependencies>
1.3 创建主程序
//标识这是一个SpringBoot应用
@SpringBootApplication
public class MainApplication {
public static void main(String[] args)
{
SpringApplication.run(MainApplication.class,args);
}
}
1.4 创建Controller
//标识该类所有方法返回值直接通过responseBody写出
@RestController
public class HelloController {
@RequestMapping("/hello")
public String Hello(){
return "Hello SpringBoot";
}
}
1.5 直接运行主方法
访问localhost:8080/hello,网页成功显示“Hello SpringBoot”
1.6 修改默认配置
如果想修改默认端口,可以在resources新建一个application.properties文件,名字必须固定application.properties,然后SpringBoot启动时就会读取这个文件。
1.7 部署到服务器
在使用SSM框架时,如果想打包部署,必须将工程打成war包,然后再放到Tomcat目录下。但是在SpringBoot中可以直打jar包,里面包含了运行时环境,可以在命令行通过java -jar jar包名称
运行。
首先安装插件,用于打包。如果安装插件爆红(Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found),必须加上版本号,重启idea即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.4.RELEASE</version>
</plugin>
</plugins>
</build>
然后执行package命令,会在target生成对应jar包
进入文件夹,在命令行执行java -jar 01HelloWorld-1.0-SNAPSHOT.jar
,打开浏览器访问成功
1.8 详解pom.xml中的starter
SpringBoot将开发分成一个个场景,将每个场景用到的依赖封装成一个starter。比如说web开发,就使用spring-boot-starter-web
,会将web开发用到的springmvc、json、tomecat等等依赖全部导入,如下依赖图
所以以后只要引入相关starter即可,比如要使用spring的apo的就引入spring-boot-starter-aop
,所有starter可以在官方文档中查到
1.9 详解pom.xml中的parent
这里其实用到的是Maven的特性,点击spring-boot-starter-parent,进入他的父项目
发现父工程还有父工程,再次进入
追踪到最后发现一个管理依赖版本pom,正是因为有了这个pom我们在自己的工程内导入依赖可以不写版本号,比如导入mysql-java-conector
,默认就是导入8.0.21
1.9.1 更改依赖默认版本
如果想使用mysql-java-conector 5.x.x
版本怎么办?直接在引入时规定版本号即可