首页 > 其他分享 >Spring boot面试题---- Spring Boot 自动配置的原理

Spring boot面试题---- Spring Boot 自动配置的原理

时间:2025-01-15 15:31:58浏览次数:3  
标签:面试题 Spring 配置 boot 自动 DataSource Boot spring

一、自动配置类的发现

  • Spring Boot 会扫描类路径下的META-INF/spring.factories文件。这个文件中包含了许多配置信息,其中关键的是org.springframework.boot.autoconfigure.EnableAutoConfiguration的配置。
  • 这个文件中会列出一系列的自动配置类的全限定名,这些自动配置类是 Spring Boot 根据不同的场景和依赖提供的配置类。例如,当在项目中添加了spring-boot-starter-web依赖时,spring.factories文件中对应的自动配置类就会被发现。

二、条件注解的使用

  • Spring Boot 广泛使用了@Conditional注解及其派生注解,如@ConditionalOnClass、@ConditionalOnBean、@ConditionalOnMissingBean、@ConditionalOnProperty等。
  • @ConditionalOnClass:当类路径下存在指定的类时,该自动配置类才会生效。例如,对于数据库自动配置,如果类路径下有DataSource类,相应的自动配置类可能会被启用。
@Configuration
@ConditionalOnClass(DataSource.class)
public class DataSourceAutoConfiguration {
   
    // 配置数据源的相关代码
}
  • @ConditionalOnBean:当容器中存在指定的 Bean 时,配置才会生效。比如,如果容器中已经有了一个DataSource Bean,另一个依赖于DataSource的自动配置类可能会被启用。

标签:面试题,Spring,配置,boot,自动,DataSource,Boot,spring
From: https://blog.csdn.net/qq_38737545/article/details/145161260

相关文章

  • spring项目使用@PropertySource("classpath:jdbc.properties")失效
    本人环境,java17,spring6.2.1在尝试将springxml方式全部换为注解和java类的方式的时候发现@PropertySource+@Value方式不能够正常读取注入resources下的properties文件内容后续研究后解决往ioc中加入beanPropertySourcesPlaceholderConfigurer,并配置location,最后在需要使用p......
  • UNI-APP + Spring Boot 实现小程序手机号登录
    以下是整合后的完整方案,结合了UNI-APP前端和JavaSpringBoot后端,实现小程序手机号登录功能:1.前端实现:获取用户手机号并调用登录接口在UNI-APP中,使用button​组件获取用户的手机号授权,并将授权后的code​发送到后端登录接口。1.1前端代码<template><......
  • springboot毕设 广告设计与投放系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今信息爆炸的时代,广告已成为企业推广产品、服务,提升品牌影响力的关键手段。随着互联网的迅猛发展,广告设计与投放的方式也经历了翻天覆地的变化。......
  • springboot毕设 工程项目管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今快速变化的商业环境中,工程项目管理成为企业成功实施各类项目的关键环节。随着项目规模的不断扩大和复杂度的日益提升,传统的人工管理方式已难以......
  • UNI-APP + Spring Boot 实现小程序手机号登录
    以下是整合后的完整方案,结合了UNI-APP前端和JavaSpringBoot后端,实现小程序手机号登录功能:1.前端实现:获取用户手机号并调用登录接口在UNI-APP中,使用button​组件获取用户的手机号授权,并将授权后的code​发送到后端登录接口。1.1前端代码<template><......
  • springboot673书籍学习平台(论文+源码)_kaic
     摘要首先,论文一开始便是清楚的论述了平台的研究内容。其次,剖析平台需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确平台的需求。然后在明白了平台的需求基础上需要进一步地设计平台,主要包罗软件架构模式、整体功能模块、数据库设......
  • springboot672乐校园二手书交易管理系统(论文+源码)_kaic
     摘要在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括乐校园二手书交易管理系统的网络应用,在外国二手书交易管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。乐校园二手书交易管理系统具有二手书交易管理功能的选择。乐校园二手......
  • springboot670“智慧食堂”设计与实现(论文+源码)_kaic
     摘要随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。网上管理,它将是直接管理“智慧食堂”系统的最新形式。本论文是以构建“智慧食堂”系统为目标,使用java技术制作,由管理员和用户两大部分组成。着重论述了系统设......
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(六)
    文章目录一、考试管理模块实现1、添加考试功能实现1.1页面设计1.2前端功能实现1.3后端功能实现1.4效果展示2、考试管理功能实现2.1页面设计2.2前端功能实现2.3后端功能实现2.3.1后端查询接口实现2.3.2后端编辑接口实现2.3.3后端删除接......
  • Spring Book 配置文件 / 日志
    目录SpringBook配置文件一.配置文件1.配置文件的作用2.配置文件的格式二. .properties配置文件1..properties配置文件说明2.读取配置文件三.yml配置文件1..yml配置文件说明2.使⽤yml连接数据库 3.yml配置不同数据类型及null 4.yml配置读取5.主要事项......