首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧启动自动配置

弹簧启动自动配置
EN

Stack Overflow用户
提问于 2016-09-06 18:47:36
回答 2查看 1.1K关注 0票数 2

从文件中:

Spring自动配置尝试根据您添加的jar依赖关系自动配置Spring应用程序。例如,如果您的类路径上有HSQLDB,并且没有手动配置任何数据库连接bean,那么我们将自动配置内存中的数据库。

在这里,什么是自动配置的(就数据库配置而言)?那么这个springboot自动配置是如何工作的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-06 19:07:17

AutoConfigurations列表

您将找到AutoConfiguration类=> 这里的列表(有100多个,所以我不会粘贴这个列表)。当在类路径上找到特定的类和/或定义了一些bean时,它们中的大多数(如果不是全部)都会触发@Conditionally

HibernateJpaAutoConfiguration

如果我以HibernateJpaAutoConfiguration为例。没有它,您通常会创建一个@Configuration类来定义:

  • @Bean DataSource;
  • @Bean EntityManager;
  • @Bean transactionManager;
  • 可能是一些冬眠属性。

使用HibernateJpaAutoConfiguration,不需要定义这些,spring-boot会为您处理这些问题。它甚至试图确定application.properties中的数据库连接是否用于嵌入式数据库,并启动它,并相应地配置hibernate属性。

spring.factories

Spring-Boot加载META-INF/spring.factories .工厂中定义的AutoConfigurations (在spring-boot-autoconfigure jar中)。还可以在自定义AutoConfiguration文件中定义自己的spring.factories类。如果您经常在多个项目中以类似的方式配置相同的bean(我从来没有这样做过!),这可能会很有用。

Recap

在大多数情况下,*-AutoConfiguration只需设置@Beans,否则就需要在@Configuration类中设置自己。换句话说,AutoConfiguration捆绑了一组@Conditional @Beans。它尽其所能地做到了,但是如果你愿意的话,你可以用你自己的方法来覆盖它们。

附加信息

  • 如何弹跳-自动配置-魔法
票数 3
EN

Stack Overflow用户

发布于 2016-09-06 19:05:21

用于数据库设置:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html

它将详细说明指定应用程序属性和自动配置的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39355908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档