week17_day04_SpringBoot

SpringBoot

ssm配置繁琐 → 配置魔鬼 → 繁琐
屠龙者 SpringBoot
配置简单 → 约定大于配置

啥是约定大于配置?
XX 处了个对象
想要喝奶茶 → 买杯喜茶 → XX买了喜茶
想要喝奶茶 → 买杯喜茶 → 买了喜茶
想要喝奶茶 → 买杯喜茶 → 买了喜茶
XX和他对象的一个默契 → 如果我没有告诉你买什么牌子的奶茶 默认喜茶
想要喝奶茶 → 帮我买杯奶茶 → XX会买什么奶茶??? → 喜茶

Spring需要注册组件 → 没有告诉你注册的组件什么样子 → 默认注册你想要的的组件

接下来问题来了:XX对象又想要喝奶茶,茶颜悦色,说我想喝茶颜悦色 → XX回去买啥子??? 张微买的就是茶颜悦色

指定了注册什么样的组件,就以指定的方式为准(默契自动失效)
→ 如果没有指定,执行默认;如果指定,以指定为准;

方便集成第三方框架 → SpringBoot好用 → 纷纷增加了对SpringBoot的支持
SpringBoot不需要额外的javaee容器 → 内置了 → 在应用成自己配置好的javaee环境在任何环境下部署应用 javaee环境是一致的

本质上还是一个Spring应用

java技术命好
google → andriod → java
Spring 轻量级的框架 → javaee
SpringBoot 轻量级


创建一个SpringBoot应用

  1. web网页端创建并下载
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述


  1. 在idea中创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

SpringBoot介绍

  1. maven介绍
    在这里插入图片描述
    这个parent是SpringBoot应用的标配。
    在这里插入图片描述

  1. 启动类在这里插入图片描述
    组件注册范围 → 启动类所在的包目录

  1. 配置文件
    key和value对应的形式
    context-path表示应用名
    server-port表示Tomcat启动的端口号
    在这里插入图片描述

  1. 搭建一个springboot-web
    1、引进依赖
    在这里插入图片描述
    或者在创建Moudle的时候:
    增加一个lombok
    在这里插入图片描述
    并且导入这个包:
    在这里插入图片描述

只要引进依赖,web应用就构建好了,并且还支持json
通常springboot支持某个框架的依赖都叫spring-boot-starter-xxx
这个依赖:1. 提供这个框架所必须的依赖 2.注册一些默认的组件
在这里插入图片描述
2、controller
在这里插入图片描述
3、启动应用
在这里插入图片描述


  1. SpringBoot应用可以打包为jar包启动
    先点击Maven工程中的package进行打包,打包完后会在target目录下找到这个jar包。
    在这里插入图片描述
    在cmd中运行jar包。
    在这里插入图片描述

SpringBoot详解

  1. 配置文件
    a. properties(key=value)
    在这里插入图片描述
    b. yml(key:value)
    在这里插入图片描述
    c. 配置文件的应用:给容器中的组件的成员变量赋值
    在这里插入图片描述
    在这里插入图片描述
    访问http://localhost:8080/demo2/hello就会赋值。

  1. ConfigurationProperties(极其重要)
    仍然是给容器中的组件的成员变量赋值 → 更简单更直接的方式
    在这里插入图片描述
    配置:
    在这里插入图片描述
    在这里插入图片描述

其他类型的成员变量如何配置?

组件中增加其他类型的成员变量
在这里插入图片描述
两种配置文件的写法:

  1. properties:
    在这里插入图片描述
    yml:
    在这里插入图片描述

如果想让我们在配置文件中写自己定义的组件的时候有提示,可以导入一个依赖:
在这里插入图片描述
或者在创建Moudle的时候就选中这项:
在这里插入图片描述
引进依赖之后,重新run一下你的应用,properties或yml文件就会给提示了


配置文件占位符

  1. 随机数
    随机数在应用启动的时候,就已经生成,在程序运行过程中不会发生改变;
    当你重新启动应用时,随机数则发生变化
  2. 属性占位符
    在这里插入图片描述

引入额外的配置文件(了解)

  1. PropertySource(springboot的properties类型)
    在讲ioc的时候讲过这个注解
    在这里插入图片描述
  2. ImportResource(Spring)
    其实并不建议使用这种方式引入Spring配置文件,更建议我们使用JavaConfig
    在这里插入图片描述

.

多配制文件
背景:springboot会找到classpath,并且加载配置文件。回去找哪些配置文件呢?
application.properties
application.yml或yaml
application-*.properties(yml)

主配置文件中配置spring-pofiles.active属性为α、β、Σ可以选择激活哪个子配置文件。
在这里插入图片描述
两个使用场景:
在这里插入图片描述
在这里插入图片描述


选择激活配置文件:
在这里插入图片描述
在这里插入图片描述


yml文件有一种额外的配置文件命名方式

同一个配置文件中创建多个子配置文件,通过 - - - 的方式来分割

每个配置文件的名字是啥 → spring.profiles = 配置文件的名字
在这里插入图片描述


自定配置原理
为什么约定大于配置 → 为什么自动帮我们注册组件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
找到META-INF/spring.factories → 自动配置类
在这里插入图片描述
在这里插入图片描述
@ConditionalOn → 当满足xxx条件时,注册组件
@ConditionalOnMissing → 当不满足xxx,或缺少xxx时,注册组件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面的红字部分可以理解为奶茶案例,如果没告诉买什么奶茶,我就买一个默认的奶茶。
SpringBoot本质上还是一个spring应用,它只是通过javaconfig给我们注册组件。
在这里插入图片描述
在这里插入图片描述


整合Web
spring-boot-starter-web

  1. 静态资源
    在这里插入图片描述
    上面是默认配置,我们可以自己配置
    在这里插入图片描述
  2. 文件上传组件multipartResolver会自动注册
  3. SpringMVC配置类
    在这里插入图片描述
  4. Converter
    心脏搭桥手术案例 1、取出 2、增加 3、放回

在Converter类上增加@Component注解,注册到容器中就生效了
在这里插入图片描述


整合mybatis
mybatis-spring-boot-starter
在这里插入图片描述
datasource:
在这里插入图片描述
mappers:
在这里插入图片描述
注意项:如果你引入了mybatis对springboot的依赖,一定要配置数据源 → 如果你没有打算使用某个框架,就不要先去引入它对springboot支持的依赖

其他的一些配置:
在这里插入图片描述
在这里插入图片描述
配置文件这加上这句话,会在控制台显示哪些组件注册了,哪些组件没注册。


彩蛋
banner.txt或banner.png放在resource目录下就会在启动的时候识别到。


9配置文件加载优先级(运维)
了解 → 视频
10项目
小组合作的项目 维护一套代码 → git → github 、gitee(码云)
大家忘得差不多 → 不知道怎么提交了 → 怎么处理冲突 → 忽略文件

周五到下周五


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-玫瑰少年-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值