欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 前端技术 > javascript >内容正文

javascript

springboot @enableautoconfiguration注解 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 javascript 13 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 springboot @enableautoconfiguration注解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言: spring boot中引入了自动配置,让开发者利用起来更加的简便、快捷。比如内嵌的tomcat端口默认配置是8080,这些都属于spring boot自动配置的范畴,当然其自动配置相当多,springboot框架的神奇之处在于@enableautoconfiguration注释,此注释自动载入应用程序所需的所有bean——这依赖于spring boot在类路径中的查找

一、 @enableautoconfiguration

@target({elementtype.type}) @retention(retentionpolicy.runtime) @documented @inherited @autoconfigurationpackage @import({autoconfigurationimportselector.class}) public @interface enableautoconfiguration {string enabled_override_property = "spring.boot.enableautoconfiguration";class<?>[] exclude() default {};string[] excludename() default {}; }

其中最关键的要属@import(autoconfigurationimportselector.class),借助autoconfigurationimportselector,@enableautoconfiguration可以帮助springboot应用将所有符合条件的@configuration配置都加载到当前springboot创建并使用的ioc容器。

借助于spring框架原有的一个工具类:springfactoriesloader的支持,@enableautoconfiguration可以智能的自动配置功效才得以大功告成!

在autoconfigurationimportselector类中可以看到通过 springfactoriesloader.loadfactorynames()把 spring-boot-autoconfigure.jar/meta-inf/spring.factories中每一个xxxautoconfiguration文件都加载到容器中,spring.factories文件里每一个xxxautoconfiguration文件一般都会有下面的条件注解:

spring.factories文件如下:

org.springframework.boot.autoconfigure.enableautoconfiguration=\ org.springframework.boot.autoconfigure.admin.springapplicationadminjmxautoconfiguration,\ org.springframework.boot.autoconfigure.aop.aopautoconfiguration,\ org.springframework.boot.autoconfigure.amqp.rabbitautoconfiguration,\ org.springframework.boot.autoconfigure.batch.batchautoconfiguration,\ org.springframework.boot.autoconfigure.cache.cacheautoconfiguration,\ org.springframework.boot.autoconfigure.cassandra.cassandraautoconfiguration,\ org.springframework.boot.autoconfigure.cloud.cloudserviceconnectorsautoconfiguration,\ org.springframework.boot.autoconfigure.context.configurationpropertiesautoconfiguration,\ org.springframework.boot.autoconfigure.context.messagesourceautoconfiguration,\ org.springframework.boot.autoconfigure.context.propertyplaceholderautoconfiguration,\ org.springframework.boot.autoconfigure.couchbase.couchbaseautoconfiguration,\ org.springframework.boot.autoconfigure.dao.persistenceexceptiontranslationautoconfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.cassandradataautoconfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.cassandrareactivedataautoconfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.cassandrareactiverepositoriesautoconfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.cassandrarepositoriesautoconfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.couchbasedataautoconfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.couchbasereactivedataautoconfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.couchbasereactiverepositoriesautoconfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.couchbaserepositoriesautoconfiguration,\ ....
  • @conditionalonclass : classpath中存在该类时起效
  • @conditionalonmissingclass : classpath中不存在该类时起效
  • @conditionalonbean : di容器中存在该类型bean时起效
  • @conditionalonmissingbean : di容器中不存在该类型bean时起效
  • @conditionalonsinglecandidate : di容器中该类型bean只有一个或@primary的只有一个时起效
  • @conditionalonexpression : spel表达式结果为true时
  • @conditionalonproperty : 参数设置或者值一致时起效
  • @conditionalonresource : 指定的文件存在时起效
  • @conditionalonjndi : 指定的jndi存在时起效
  • @conditionalonjava : 指定的java版本存在时起效
  • @conditionalonwebapplication : web应用环境下起效
  • @conditionalonnotwebapplication : 非web应用环境下起效

总结

以上是尊龙游戏旗舰厅官网为你收集整理的springboot @enableautoconfiguration注解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图