SpringBoot学习笔记(3)-依赖管理和自动配置
创始人
2025-05-31 11:30:54
0

文章目录

    • 2 依赖管理和自动配置
      • 2.1 依赖管理
        • 2.1.1 什么是依赖管理
        • 2.1.2 修改自动仲裁/默认版本号
      • 2.2 starter 场景启动器
        • 2.2.1 starter 场景启动器基本介绍
        • 2.2.2 第三方 starter
      • 2.3 自动配置
        • 2.3.1 自动装配基本介绍
        • 2.3.3 SpringBoot 默认扫描包
        • 2.3.4 如何修改默认配置

2 依赖管理和自动配置

2.1 依赖管理

2.1.1 什么是依赖管理

  1. spring-boot-starter-parent 还有父项目, 声明了开发中常用的依赖的版本号
  2. 并且进行 自动版本仲裁 , 即如果程序员没有指定某个依赖 jar 的版本,则以父项目指定的版本为准

image-20230320184352529

image-20230320184517879

2.1.2 修改自动仲裁/默认版本号

  1. 将 SpringBoot mysql 驱动修改成 5.1.49,有两种方式,如下所示:
    5.1.49mysqlmysql-connector-java

让我们来看一眼运行结果。

image-20230320184929604

2.2 starter 场景启动器

2.2.1 starter 场景启动器基本介绍

  1. 开发中我们引入了相关场景的 starter,这个场景中所有的相关依赖都引入进来了,比如我们做 web 开发引入了,该 starter 将导入与 web 开发相关的所有

image-20230320185046246

我们进去看一下,都引入了哪些依赖

image-20230320185157153

  1. 所有场景启动器最基本的依赖就是 spring-boot-starter , 前面的依赖树分析可以看到这个依赖也就是 SpringBoot 自动配置的核心依赖

image-20230320185413821

2.2.2 第三方 starter

  1. SpringBoot 也支持第三方 starter
  2. 第三方 starter 不要从 spring-boot 开始,因为这是官方 spring-boot 保留的命名方式的。第三方启动程序通常以项目名称开头。例如,名为 thirdpartyproject 的第三方启动程序项目通常被命名为 thirdpartyproject-spring-boot-starter。
  3. 也就是说:xxx-spring-boot-starter 是第三方为我们提供的简化开发的场景启动

2.3 自动配置

2.3.1 自动装配基本介绍

前面学习 SSM 整合时,需要配置 Tomcat 、配置 SpringMVC、配置如何扫描包、配置字符过滤器、配置视图解析器文件上传等,非常麻烦。而在SpringBoot 中,存在自动配置机制,提高开发效率

#### 	2.3.2 SpringBoot 自动配置了哪些?

image-20230320185157153

2.3.3 SpringBoot 默认扫描包

第一步、修改MainApp.java代码,看一下ioc容器被扫描到的组件

@SpringBootApplication
public class MainApp {public static void main(String[] args) {//启动 SpringBoot 应用程序/项目//返回ioc容器ConfigurableApplicationContext ioc= SpringApplication.run(MainApp.class, args);//查看ioc容器里面的组件String[] beanDefinitionNames = ioc.getBeanDefinitionNames();for (String beanDefinitionName : beanDefinitionNames) {System.out.println("beanDefinitionName--"+beanDefinitionName);}}}

第二步、运行结果

image-20230320190058157

2.3.4 如何修改默认配置

  • 如何修改默认扫描包结构
  1. 需求:要求能扫描 com.hspedu 包下的 HiController.java 应该如何处理?
  2. 创建: quickstart\src\main\java\comxjz\HiController.java, 并测试,这时是访问不到的

第一步、创建HiController

package com.xjz;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class HiController {@RequestMapping("/hi")@ResponseBodypublic String hi(){return "hi,SpringBoot";}
}

第二步、修改MainApp.java,增加扫描的包,并完成测试。

//直接在 SpringBootApplication 注解后指定
@SpringBootApplication(scanBasePackages="com.xjz")
public class MainApp {public static void main(String[] args) {//启动 SpringBoot 应用程序/项目//返回ioc容器ConfigurableApplicationContext ioc= SpringApplication.run(MainApp.class, args);//查看ioc容器里面的组件String[] beanDefinitionNames = ioc.getBeanDefinitionNames();for (String beanDefinitionName : beanDefinitionNames) {System.out.println("beanDefinitionName--"+beanDefinitionName);}}}

第三步、运行结果

image-20230320203933826

  • resources\application.properties 配置大全

    1.SpringBoot 项目最重要也是最核心的配置文件就是 application.properties,所有的框架配置都可以在这个配置文件中说明

    地址:SpringBoot学习笔记(2)-application.properties配置大全_xjz_2002的博客-CSDN博客

  1. 修改配置–自定义端口及文件上传大小
#默认 server.port=8080
server.port=10000# 修改文件上传的大小
# multipart.max-file-size 属性可以指定SpringBoot上传文件大小的限制
# 默认配置最终都是映射到某个类上,比如 multipart.max-file-size
# 会映射/关联到 MultipartProperties 上
# 把光标放在该属性,ctrl+b 就可以定位该配置映射到的类
spring.servlet.multipart.max-file-size=10MB
  1. 自定义配置属性

第一步、在application.properties文件中自定义属性

#自定义配置属性
my.websize=https://www.baidu.com

第二步、在HiController.java文件中添加@Value属性

@Controller
public class HiController {@Value("${my.websize}")private String websize;@RequestMapping("/hi")@ResponseBodypublic String hi(){System.out.println("websize:" + websize);return "hi,SpringBoot";}
}

第三步、查看控制台

image-20230320213729352

  • SpringBoot在哪配置读取application.properties

image-20230320214408196

相关内容

热门资讯

iPhone手机怎么玩安卓系统... 你有没有想过,你的iPhone手机竟然也能玩安卓系统?没错,就是那个一直以来让你觉得遥不可及的安卓世...
平板删安卓系统更新不了,原因及... 最近是不是你也遇到了这样的烦恼?平板电脑上的安卓系统更新不了,是不是让你头疼得要命?别急,今天就来给...
苹果组装机安卓系统卡,卡顿背后... 你有没有发现,最近用苹果手机的时候,有时候系统有点卡呢?这可真是让人头疼啊!你知道吗,其实这背后还有...
安卓系统原生浏览器,功能与体验... 你有没有发现,每次打开手机,那个小小的浏览器窗口总是默默无闻地在那里,陪你浏览网页、搜索信息、看视频...
安卓机如何上苹果系统,跨平台体... 你是不是也和我一样,对安卓机和苹果系统之间的切换充满了好奇?想象你的安卓手机里装满了各种应用,而苹果...
安卓导入系统证书失败,原因分析... 最近在使用安卓手机的时候,你是不是也遇到了一个让人头疼的问题——导入系统证书失败?别急,今天就来给你...
安卓原生系统有哪些手机,盘点搭... 你有没有想过,为什么有些手机用起来就是那么流畅,那么顺心呢?这背后可大有学问哦!今天,就让我带你一起...
安卓系统关机了怎么定位,安卓系... 手机突然关机了,是不是有点慌张呢?别担心,今天就来教你一招,让你的安卓手机即使关机了,也能轻松定位到...
安卓系统游戏加速器,畅享无延迟... 你有没有发现,手机游戏越来越好玩了?不过,有时候游戏体验可能并不那么顺畅,是不是因为手机性能不够强大...
安卓4系统天气功能,尽在掌握 安卓4系统天气功能大揭秘在当今这个数字化的世界里,手机已经不仅仅是一个通信工具,它更是一个集成了各种...
安卓系统如何玩碧蓝幻想,攻略与... 你有没有想过,在安卓系统上玩《碧蓝幻想》竟然可以这么酷炫?没错,就是那个让你沉迷其中的二次元大作!今...
安卓系统搜不到图朵,图朵生成之... 最近是不是你也遇到了这样的烦恼?手机里明明有那么多美美的图片,但是用安卓系统搜索的时候,却怎么也找不...
魁族8刷安卓系统,系统升级后的... 哇,你知道吗?最近在安卓系统圈子里,有一个话题可是引起了不小的轰动,那就是魁族8刷安卓系统。你是不是...
微信正版安装安卓系统,畅享沟通... 你有没有想过,你的微信是不是正版安装的安卓系统呢?这可不是一个小问题哦,它关系到你的微信使用体验和隐...
电视能刷安卓系统吗,电视也能刷... 电视能刷安卓系统吗?揭秘智能电视的无限可能想象你家的电视不再只是用来观看节目的工具,而是变成了一个功...
安卓系统开通通知功能,畅享智能... 你知道吗?最近安卓系统更新后,新增了一个超级实用的功能——开通通知功能!这可是个大喜事,让咱们的生活...
苹果系统安卓爱思助手,系统兼容... 你有没有发现,手机的世界里,苹果系统和安卓系统就像是一对欢喜冤家,总是各有各的粉丝,各有各的拥趸。而...
安卓系统占用很大内存,揭秘内存... 手机里的安卓系统是不是让你感觉内存不够用,就像你的房间堆满了杂物,总是找不到地方放新东西?别急,今天...
安卓系统p30,安卓系统下的摄... 你有没有发现,最近安卓系统P30在手机圈里可是火得一塌糊涂呢!这不,我就来给你好好扒一扒这款手机的那...
siri被安卓系统进入了,智能... 你知道吗?最近科技圈可是炸开了锅,因为一个大家伙——Siri,竟然悄悄地溜进了安卓系统!这可不是什么...