1. 环境版本说明
1.1 IDEA版本
1.2 Mysql版本
可以使用最新版本的mariadb, 课堂使用5.5 版本 最好不要使用Mysql8.0版本
2. IDEA环境配置
2.1 IDEA环境说明
工作空间: 理论上可以存储多个项目.
程序员操守: 路径中不要有中文,空格,特殊字符.
2.2 IDEA环境搭建参见PPT
2.3 IDEA 关于插件说明
2.3.1 社区版本
说明: 社区版本 没有Spring/JS/HTML的支持. 需要针对于SpringBoot 需要安装特定的插件.
提前安装Spring Assistant 该版本正式版本中 没有该插件.
2.3.2 正式版本
说明: 正式版本中 自带了SpringBoot的插件.所以无需下载
2.3.3 Lombok安装
说明: 当创建一个实体对象时,必须写get/set/toString/构造/equals/hash等方法 该方法必须有.
为了优化上述的操作,则引入lombok插件(主流用法)
提前安装:
2.4 SpringBoot项目入门
2.4.1 框架的作用
- SpringMVC 作用: 接收用户提交的数据,返回服务器数据.(交互)
- Spring 作用: 整合其他的第三方框架,可以让程序调用以一种统一的方式进行调用 (整合)
- Mybatis 作用: 整合JDBC 方便用户与数据库进行交互(持久化)
- SpringBoot 作用: 简化Spring等框架的操作(简化)
理解: SpringBoot就是一个框架的高级API
2.4.2 框架之间的关系
2.5 创建SpringBoot项目
2.5.1 创建项目
2.5.2 选择依赖
2.5.3 SpringBoot报错(一)
2.5.3 SpringBoot报错(二)
3 创建SpringBoot高级用法
3.1 关于maven坐标说明
3.1.0 Maven常见命令
3.1.1 Maven常见命令说明
- install 项目打包命令
- clean 清空target文件目录的.
注意事项: clean 只会清空target文件目录的内容,本地仓库中的文件不会清理.
所以每次项目打包都要重新install.
3.1.2 坐标
<!--坐标的说明: 只要是一个Maven工程必然会有坐标-->
<!--groupId 组ID: 公司域名倒写-->
<groupId>com.jt</groupId>
<!--项目名称 名称唯一-->
<artifactId>springboot_demo1</artifactId>
<!--版本: 可以自己指定-->
<version>0.0.1-SNAPSHOT</version>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.1.3 作用
- 可以唯一标识项目的路径
- 坐标是将来项目打包的位置
- 改jar包文件可以被其他项目依赖
3.2 关于POM.xml文件说明
3.2.1 知识铺垫
说明: 作为大型项目开发,里边必然会引入很多的jar包文件(公共第三方,自己公司的jar包). 由于jar包文件众多.则可能引发jar包文件冲突的问题!!!
问: 如何解决?
3.2.2 parent标签说明
2015年SpringBoot框架进入人们的视野,其中最为主要的是Parent标签的定义.parent标签,是Spring官网负责维护, 在其中定义了几乎所有的框架与SpringBoot兼容的版本信息.
作用: 集中定义版本号
<!--集中定义版本号-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.3.3 dependencies作用
3.3.4 build 作用
3.3 关于SpringBoot配置文件说明
3.3.1 properties文件说明
3.3.2 YML文件说明
3.4 入门案例
3.4.1 案例要求
1.编辑HelloController
2.请求路径 http://localhost:8090/hello
3.获取结果 获取 "欢迎使用SpringBoot"的字样
3.4.2 包的位置
注意事项!!!: 以后写代码,必须在主启动类的同包及子包中编辑.
3.4.3 入门案例
//历史: 后端进行页面跳转时一般使用Controller注解 //当下: 前后端分离, 页面不归后端管理,RestController // RestController = Controller + @ResponseBody //面试题: @Controller 和 @RestController //@Controller //@ResponseBody @RestController public class HelloController {
<span class="token comment">/*该注解与方法绑定 */</span> <span class="token annotation punctuation">@RequestMapping</span><span class="token punctuation">(</span><span class="token string">"/hello"</span><span class="token punctuation">)</span> <span class="token keyword">public</span> <span class="token class-name">String</span> <span class="token function">hello</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span> <span class="token keyword">return</span> <span class="token string">"您好SpringBoot"</span><span class="token punctuation">;</span> <span class="token punctuation">}</span>
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
3.4 为属性赋值
3.4.1 业务需求
说明: 如果将数据写死在java文件中,如果数据发生变化,则需要手动的修改.java文件. 如果以后有大量的需求,则扩展不方便
解决方案: 动态为属性赋值.
3.4.2 YML方式为属性赋值
3.4.2.1 定义属性
3.4.2.2 定义属性
package com.jt.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//历史: 后端进行页面跳转时一般使用Controller注解
//当下: 前后端分离, 页面不归后端管理,RestController
// RestController = Controller + @ResponseBody
//面试题: @Controller 和 @RestController
//@Controller
//@ResponseBody
@RestController
public class HelloController {
<span class="token comment">//private String name = "李四";</span>
<span class="token comment">/**
* 表达式: springel表达式 简称为spel表达式
* 语法: ${表达式内容}
* 工作原理:
* 容器: 在内存中一个存储大量数据的Map集合
* 1.当SpringBoot程序启动时,首先加载application.yml的配置文件
* 2.当程序加载key-value结构时,将数据保存到Map集合中(容器内部)
* 3.利用Spel表达式,通过key,获取value,之后为属性赋值.
*/</span>
<span class="token annotation punctuation">@Value</span><span class="token punctuation">(</span><span class="token string">"${userinfo.name}"</span><span class="token punctuation">)</span>
<span class="token keyword">private</span> <span class="token class-name">String</span> name<span class="token punctuation">;</span>
<span class="token comment">/*该注解与方法绑定 */</span>
<span class="token annotation punctuation">@RequestMapping</span><span class="token punctuation">(</span><span class="token string">"/hello"</span><span class="token punctuation">)</span>
<span class="token keyword">public</span> <span class="token class-name">String</span> <span class="token function">hello</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token keyword">return</span> <span class="token string">"您好SpringBoot:"</span><span class="token operator">+</span>name<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
3.5 pro属性赋值
3.5.1 YML文件相关说明
YML文件的主要作用: 编辑SpringBoot与第三方框架的整合.
如果将大量的业务数据都写到YML文件中,则会造成业务与框架的耦合.不方便管理.
想法: 能否优化业务数据.让代码整洁.
实现策略: 通过properties的配置文件实现业务的解耦.
3.5.2 编辑pro配置文件
3.5.3 实现数据注入
-
类中的注解
-
为属性赋值
B站地址: