1. Springboot入门
1.1 Springboot简介
Spring Boot是Spring家族中一个全新的框架, 用来简化Spring应用程序的创建和开发过程, 能够简化我们之前采用Spring+SpringMVC+Mybatis框架进行开发的过程, 简化企业级应用的开发难度。
1.2 Springboot的官方文档
- 登入Spring的官网, Project --》 Springboot 点击Relerence Doc , GA为稳定版本
- 文档如图, 点击蓝色项就可查询相关内容
1.3 搭建Springboot的第一个程序
第一种方式: 通过网站或开发工具来生成springBoot
Spring官方提供了一个能够快速生成SpringBoot项目的网站, 而IDEA集成了这个网站。
Spring – Object – SpringBoot – Quickstart Your Project
网址: 点击跳转
确定好所有信息后点击下面左边第一个即可下载初始项目
在IDEA中创建SpringBoot项目
导入项目后IDEA会自动进行下载, 完成后包结构如下
main中主方法
执行后访问8080端口
编写HTTP接口
在hello包下创建controller包(dao、pojo、service等等包都在hello包下, 否则扫描不到)
HelloController类
在浏览器中输入localhost:8080/hello 效果如下
第二种方式: 创建Maven工程, 导入相关依赖
<parent>
<groupId>org.springframework.boot</groupId>
<!--Spring boot的父工程启动器-->
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<!--springBoot在Web场景的启动器-->
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
在项目下创建主程序类SpringBootApplication, @SpringBootApplication用来标识这是一个Spring boot程序
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
编写Http接口(需要在项目下的Controller包中)
@RestController相当于 @Controller和@ResponseBody的组合使用 返回前端JSON字符串
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01(){
return "Hello, Spring Boot 2!";
// 访问Hello请求 返回页面Hello, Spring Boot 2!字符串
}
}
启动主程序类主方法, 访问localhost:8888/hello
简化配置
在resources下编写application.properties文件可以直接对SpringBoot进行配置
例如
server.port=8888
修改端口号为8888
在Springboot的官方文档中可以查到更多的配置项
简化部署
不需要在目标服务器配置Tomcat, 只需要在工程中引入依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
把项目打成jar包,直接在目标服务器执行即可。
注意点: 取消掉cmd窗口的快速编辑模式
1.4 Springboot的特点
1.4.1 依赖管理
父工程做了依赖管理
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
它的父项目几乎声明了所有开发中常用的依赖的版本号
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
自动版本依赖仲裁机制(手动修改版本号)
进入springboot的父工程的父工程中找到properties标签, 搜索key
在pom文件的properties标签中调用key修改
如:
<properties>
<!--不使用springboot规定好的版本号,自定义-->
<mysql.version>5.1.43</mysql.version>
</properties>
注意:
- 引入依赖默认都可以不写版本
- 引入非版本仲裁的jar,要写版本
springboot的starter场景启动器
- 见到很多spring-boot-starter.* *指的是某种场景
- 只要引入了starter, 这个场景常规的依赖就会自动引入
- *.spring-boot-starter 是第三方为我们创建的启动器
- 所有场景启动器最底层的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.4.RELEASE</version>