Spring引导自动配置
从文件中: Spring引导自动配置尝试自动配置 您的Spring应用程序基于您拥有的jar依赖关系 补充。例如,如果HSQLDB在类路径上,而您没有 手动配置任何数据库连接bean,然后我们将 自动配置内存中的数据库 这里到底自动配置了什么(在数据库配置方面)?这个springboot自动配置是如何工作的 对于数据库设置:Spring引导自动配置,spring,spring-boot,Spring,Spring Boot,从文件中: Spring引导自动配置尝试自动配置 您的Spring应用程序基于您拥有的jar依赖关系 补充。例如,如果HSQLDB在类路径上,而您没有 手动配置任何数据库连接bean,然后我们将 自动配置内存中的数据库 这里到底自动配置了什么(在数据库配置方面)?这个springboot自动配置是如何工作的 对于数据库设置: 它将提供有关指定应用程序属性和自动配置内容的详细信息。自动配置列表 您将看到自动配置类的列表=>(有一百多个,因此我不会粘贴该列表)。当在类路径上找到特定类和/或定义了一些
它将提供有关指定应用程序属性和自动配置内容的详细信息。自动配置列表 您将看到自动配置类的列表=>(有一百多个,因此我不会粘贴该列表)。当在类路径上找到特定类和/或定义了一些bean时,它们中的大多数(如果不是全部的话)都会有条件地被触发 自动配置 如果我以
HibernateJpaAutoConfiguration
为例。没有它,您通常会创建一个@Configuration
类来定义:
- @Bean数据源李>
- @豆类营养管理器李>
- @Bean事务管理器李>
- 可能是一些hibernate属性
hibernatejpa自动配置
,无需定义这些配置,spring boot
为您处理这些配置。它甚至尝试确定application.properties中的数据库连接是否用于嵌入式数据库,并启动它,并相应地配置hibernate属性
春天工厂
Spring-Boot
加载(在Spring-Boot-autoconfigure
jar中)中定义的自动配置。
您还可以在自定义的spring.factories
文件中定义自己的自动配置类。如果您经常在多个项目中以类似的方式配置相同的bean,这可能会很有用(我从来没有这样做过!)
重述
在大多数情况下,*-AutoConfiguration
只需设置@Beans
,否则您需要在@Configuration
类中设置自己。换句话说,自动配置捆绑了一组@Conditional@Beans
。它尽其所能做到这一点,但如果你愿意,你可以用你自己的来覆盖它们
其他信息
就目前而言,这个问题非常非常广泛。如果你想了解一些具体的问题,请重新措辞,将其包括在内。。我想知道关于自动配置方面的数据库配置只。。。(相应地重新措辞)我建议在提出这样一个广泛的问题之前,先尝试一下spring.io入门指南中的一些内容,以便更熟悉一些东西。Spring Boot所做的大部分工作都基于Spring框架本身。要理解自动配置(数据源、连接池等),首先必须了解这一点。