Web开发

注册

 

发新话题 回复该主题

SpringBoot中几个不同的Anno [复制链接]

1#
孩子白癜风 http://m.39.net/pf/a_4672100.html

众所周知,SpringBoot是Pivotal团队的一个全新框架,旨在简化java中Spring应用程序的开发。该框架采用了一种固定的配置方法,使开发人员无需定义样板配置。它提供了代码和注释配置的默认值,可以在短时间内快速启动新的Spring项目。

Springboot在org.springframework.boot.autoconfigure和org.springframework.boot.autoconfigure.condition包中提供了许多自动配置注释。

让我们列出这些包中的所有注释:

1.

SpringBootApplication

SpringBootApplication注释表示一个配置类,它声明一个或多个

Bean方法,并触发自动配置和组件扫描。该

SpringBootApplication注释等同采用

Configuration,

EnableAutoConfiguration和

ComponentScan使用默认的属性。

示例:我们使用此注释来标记SpringBoot应用程序的主类:

2.

EnableAutoConfiguration

EnableAutoConfiguration注解根据您添加的jar依赖,让SpringBoot去“猜”出你想怎么配置Spring。例如配置Tomcat和SpringMVC时,我们将spring-boot-starter-web添加到类路径,SpringBoot会假定您正在开发Web应用程序并相应地设置Spring。

示例:让我们将

EnableAutoConfiguration注释添加到Application类或Main中以启用自动配置功能:

3.

ConditionalOnClass和

ConditionalOnMissingClass

这两个注释应用在类的条件上,它们会基于特定类的存在与否而自动被加载。

示例:如果注释参数中的类存在或者不存在,Spring将仅使用标记的自动配置的bean:

4.

ConditionalOnBean和

ConditionalOnMissingBean

这两个注解会基于特定Bean的存在与否而自动被加载。

ConditionalOnBean示例:当我们想要根据特定bean的存在与否来定义条件时使用:

ConditionalOnMissingBean示例:当放置在

Bean方法上时,目标类型默认为方法的返回类型,如下所示:

5.

ConditionalOnProperty

该注解会基于Spring的配置环境来加载配置。

示例:使用此注释,我们可以对属性的值进行条件判断:

6.

ConditionalOnResource

该注解会基于特定的资源存在时加载:

7.

ConditionalOnWebApplication和

ConditionalOnNotWebApplication

这两个注解会基于是否是Web应用程序来加载配置,而这个Web应用程序是指使用了SpringWebApplicationContext,定义了sessionscope,或者具有StandardServletEnvironment。

示例:我们可以根据当前应用程序是否是Web应用程序创建条件:

8.

ConditionalExpression

我们可以在更复杂的情况下使用此注释,当SpEL表达式值为true时,Spring将使用标记的定义:

9.

Conditional

对于更复杂的条件,我们可以创建一个评估自定义条件的类。我们通过

Conditional注解来告诉Spring使用这个自定义条件:

以上是SpringBoot中的几种不同的注解,如有错误,请批评指正,也欢迎点赞和转发。

分享 转发
TOP
发新话题 回复该主题