2014-09-23 50 views
1

在Spring Boot应用程序中,我担心AutoConfigurations也会被传递依赖关系触发。这里Disable Spring Boot AutoConfiguration for transitive dependencies如何判断哪个弹簧引导自动配置器已被激活?

描述

具体autoconfigurations可以被关闭,但我怎么能知道哪些AutoConfigurations已被激活?在启动时似乎没有一致的激活记录。我刚刚注意到VelocityAutoConfiguration已经在我的应用程序中被激活,我可以禁用它,但是这让我担心其他自动配置在没有我的知识和意图的情况下被激活。

+0

HM,我猜/自动配置端点可与... – tkruse 2014-09-23 07:24:09

+0

帮助,但我看到Configurers无论是正面和负面的比赛中提到,所以如何分辨是否一次积极的匹配足以激活? – tkruse 2014-09-23 07:30:14

+0

“积极”列表中的任何内容都被激活,“否定”列表中的任何内容都不是。 Simples。 – 2014-09-24 14:25:44

回答

3

一定要关注那些传递依赖。

有大约5个或更多不同的方式,你可以启用或查看@EnableAutoConfiguration报告。该报告将显示您:

  1. 什么启用
  2. 什么是残疾人
  3. 什么排除
  4. 配置,是无条件的

作为一个应用参数

--debug 

作为VM参数

-Ddebug 

可变

export DEBUG=true // UNIX based 
set DEBUG=true // Windows based 

通过添加属性您application.properties

debug=true 

调整你的application.properties

logging.level.=debug 

调整t时的日志级别的环境他日志报告生成器类的水平,你的application.properties

logging.level.package.org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer=debug 
2

开始与--debug您的应用程序将记录自动配置报告,显示在启动过程中和它是否被激活审议一次自动配置类。列出为正匹配的每个班级都已被激活,列为负匹配的每个班级尚未激活。

如果您的应用程序使用Spring Boot的执行器(它依赖于org.springframework.boot:spring-boot-starter-actuator),那么,如问题注释中所述,您还可以使用端点/autoconfig通过HTTP访问报告。