> For the complete documentation index, see [llms.txt](https://jack80342.gitbook.io/spring-boot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jack80342.gitbook.io/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations.md).

# 46.3 条件注解

你几乎总是需要在自己的自动配置类里添加一个或更多的`@Conditional`注解。`@ConditionalOnMissingBean`注解是一个常见的示例，开发者可以用它覆盖自动配置类提供的默认行为。

Spring Boot包含很多`@Conditional`注解，你可以在自己的代码中通过注解`@Configuration`类或单独的`@Bean`方法来重用它们。这些注解包括：

* [46.3.1 Class条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-class-conditions)
* [46.3.2 Bean条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-bean-conditions)
* [46.3.3 Property条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-property-conditions)
* [46.3.4 Resource条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-resource-conditions)
* [46.3.5 Web Application条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-web-application-conditions)
* [46.3.6 SpEL表达式条件](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-spel-conditions)
