根据我作为Spring Boot用户的经验,Spring Boot决定要启用哪些自动配置的基本因素是:
1)类路径上存在的类。例如,如果存在RabbitMQ和Spring
AMQP类,则将
RabbitAutoConfiguration启用。相应的注释是
@ConditionalOnClass,
2)是否存在用户定义的bean。例如,如果所有Spring Data JPA都存在于类路径中,则Spring
Boot将
LocalContainerEntityManagerFactoryBean仅在用户尚未注册Bean的情况下对其进行注册。用户注册的bean将“覆盖”默认的bean。相关的注释是
@ConditionalOnMissingBean
正如@DaveSyer提到的,
@EnableAutoConfiguration如果您不希望自己包含相关配置,那么当然可以使用Spring Boot
。或者,您可以使用
exclude领域不太激烈的解决方案
@EnableAutoConfiguration。例如,如果您希望Spring
Boot自动配置除ActiveMQ之外的所有内容,则可以使用
@EnableAutoConfiguration(exclude=ActiveMQAutoConfiguration.class)
我认为这里绝对没有重罪!您可以使用Spring Boot中想要的东西。如果您不想提供某些东西,可以轻松选择部分或全部退出!
此外,如果您想在幕后看一下,则可以添加该属性
logging.level.org.springframework.boot=DEBUG
到
application.propertiesspring启动会很乐意给的是什么自动配置的详细报告,什么不是
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)