SpringBoot 依赖管理和自动配置---带你了解什么是版本仲裁(下)

简介: SpringBoot 依赖管理和自动配置---带你了解什么是版本仲裁(下)

fca2ec66dd0650651e71db153fadadb3.png自动配置💕


自动配置基本介绍


  1. 学习SSM 整合时,需要配置Tomcat 、配置SpringMVC、配置如何扫描包、配置字符过滤器、配置视图解析器、文件上传等[如图],非常麻烦。而在SpringBoot 中,存在自动配置机制(就是前面的约定优于配置),提高开发效率
    2.简单回顾以前SSM 整合的配置.

2ab427e9a008a54013e74f5f8b3db1a6.png

b5713cbdd824d652b2d99281d7eb971c.png


SpringBoot 自动配置了哪些?


  1. 自动配置Tomcat

e61306b626344837fe72c071938639f1.png

  1. 自动配置SpringMVC

2a7facf29b54144794931779fe97b0b0.png


  1. 自动配置Web 常用功能: 比如字符过滤器, 提示: 通过获取ioc 容器,查看容器创建的组件来验证,

修改quickstart\src\main\java\com\nlc\springboot\MainApp.java

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

fca2ec66dd0650651e71db153fadadb3.png

-------更加直接查看的方式debug-------

127db3f129f8c41d3a9d29a97c39d2d7.png


自动配置: 默认扫描包结构!!! ,

官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.structuring-your-code.using-the-default-package


b4a07baad356a530521fe7422e6da1a5.png


如何修改默认配置


如何修改默认扫描包结构


  1. 需求:要求能扫描com.nlc包下的HiController.java 应该如何处理?
  2. 创建: quickstart\src\main\java\com\nlc\HiController.java, 并测试,这时是访问不到的.
@Controller
public class HiController {
    //返回hi,springboot
    @RequestMapping("/hi")
    @ResponseBody
    public String hi() {
        return "hi~, SpringBoot";
    }
}


  1. 修改MainApp.java, 增加扫描的包, 并完成测试.
// 直接在SpringBootApplication 注解后指定扫描包名
@SpringBootApplication(scanBasePackages = "com.nlc")
//@SpringBootApplication(scanBasePackages = "com.nlc")指定扫描哪个包及其子包
public class MainApp {
    //.....
}


resources\application.properties 配置大全


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

地址: application.properties配置大全

因为配置代码篇幅过长,影响本篇博文整体阅读,因此单独发表一篇文章方便大家观看,希望能够帮助到您😊SpringBoot 自动配置–常用配置


自动配置遵守按需加载原则💕


基本说明

  1. 自动配置遵守按需加载原则:也就是说,引入了哪个场景starter 就会加载该场景关联的jar 包,没有引入的starter 则不会加载其关联jar

dfe6ad264fa1099dfc683bc9eeee5ed4.png

  1. SpringBoot 所有的自动配置功能都在spring-boot-autoconfigure 包里面

406543b7fd8846a96665223c0c244d58.png

  1. 在SpringBoot 的自动配置包, 一般是XxxAutoConfiguration.java, 对应XxxxProperties.java, 如图

1f0bc144d4b4d70560a812eea9c560c6.png


实例演示


以MultipartProperties , MultipartAutoConfiguration 和application.properties 来说明,用debug的形式查看


33fec067729ff62dc1873f892e22b3b7.png

386cbb76e9883bde550d3b6f818f288c.png


😄总结


版本仲裁:如果程序员没有指定某个依赖jar 的版本,则以父项目指定的版本为准

修改pom.xml 配置时, 需要刷新Maven ,否则无法识别

SpringBoot 支持第三方starter。第三方starter命名 不从spring-boot 开始,因为官方starter命名以spring-boot 开头。


文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁

希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻

如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

相关文章
|
5天前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
22 0
|
10天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
22 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
8天前
|
Java 数据库连接
SpringBoot配置多数据源实战
第四届光学与机器视觉国际学术会议(ICOMV 2025) 2025 4th International Conference on Optics and Machine Vision
36 8
|
6天前
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
12 2
|
17天前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
43 3
|
28天前
|
druid Java Maven
|
SQL 关系型数据库 MySQL
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
299 0
|
6月前
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
69 1
|
6月前
|
Java 数据库连接 Spring
面试题:springboot的自定义配置有哪些
面试题:springboot的自定义配置有哪些
46 0
|
6月前
|
Java
springboot WebMvcConfigurer详解自定义配置请求静态资源
springboot WebMvcConfigurer详解自定义配置请求静态资源
158 0