问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springboot怎么满足一个条件时执行一个方法

发布网友 发布时间:2022-03-25 00:42

我来回答

1个回答

热心网友 时间:2022-03-25 02:11

通过注解实现,常用来实现满足条件执行的有@ConditionalOnXXX注解,比如:@ConditionalOnBean,@ConditionalOnMissingBean等等。


这类条件注解可以使用在方法上,也可以使用在类上,用在类上时,通常是@EnableXXX类型的注解,本质上没有发生变化。用在方法上时,表示满足条件就执行该方法;用在类上时,表示满足条件就加载某个类,在我们自定义配置时时使用得比较多。


Spring Boot中常用的条件注解有:

(1)@ConditionalOnBean,表示:存在某个bean

(2)@ConditionalOnMissingBean,表示:不存在某个bean

(3)@ConditionalOnClass,表示:存在某个类

(4)@ConditionalOnMissingClass,表示:不存在某个类

(5)@ConditionalOnProperty,表示:存在某个属性

(6)@ConditionalOnResource,表示:存在某个资源

(7)@ConditionalOnCloudPlatform,表示:cloud环境

(8)@ConditionalOnWebApplication,表示:web运用环境。


接下来使用@ConditionalOnWebApplication注解举例,代码如下图,表示如果是web环境,就注入自定义的视图解析器

条件注入视图解析器


这里不一一做介绍,仅仅列举了常用的8个,其他条件注解和详细的用法,可以参考官方文档

Spring Boot条件注解文档

springboot怎么满足一个条件时执行一个方法

通过注解实现,常用来实现满足条件执行的有@ConditionalOnXXX注解,比如:@ConditionalOnBean,@ConditionalOnMissingBean等等。这类条件注解可以使用在方法上,也可以使用在类上,用在类上时,通常是@EnableXXX类型的注解,本质上没有发生变化。用在方法上时,表示满足条件就执行该方法;用在类上时,表示满足...

springboot自动注入原理(springboot如何注入自定义类)

最关键的要属@Import(EnableAutoConfigurationImportSelector.class),借助**EnableAutoConfigurationImportSelector**,@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器:通过@Import(AutoConfigurationImportSelector.class)导入的配置功能, AutoConfiguration...

springboot启动完成后执行?

SpringBoot在初始化之后执行某项操作的方法在任意方法上加入@PostConstruct,例如 这种方法需要一个配置类,也就是加上了@Configuration注解 在返回某个类的方法上加入@Bean注解进行注入,其参数需带有initMethod,其值为想要执行初始化方法的名厅凳称,配置类例如 实际使岁岁用的类例如 该接口的定义扮雀旅...

springboot条件装配(springboot条件注入)

SpringBoot项目开发技巧一:自动装配自动装配实现的就是该类中的selectImports方法里。通过selectImports方法,取到spring.factories文件下的一系列类名,随后将这些类自动加载至IOC容器中。解决办法一:将@Import改成@ConponentScan这样就会扫描同级包和子包。生成功能类的原则是自定义优先,没有自定义时才会使...

springboot怎么运行(springboot怎么运行html)

springboot启动前执行方法的几种方式运行带有main方法类通过命令行java-jar的方式通过spring-boot-plugin的方式执行带有main方法类这种方式很简单,我主要是通过IDAE的方式,进行执行。你能够使用SpringBoot创建Java应用并通过java-jar来运行或者创建传统的通过war来部署的应用。SpringBoot也提供了一个命令行工具...

springboot启动前执行方法的几种方式

第一个没有实现BeanPostProcessor接口 第二个实现了BeanPostProcessor接口,但是没有重写他的方法 打印结果如下 可以看到同样是使用了@PostConstruct注解,但是他们的执行顺序却截然不同 BeanPostProcessor为每一个spring维护的对象调用前后做操作,实现了它我们当前类就会变成一个BeanPostProcessor对象,就可以...

springboot多事物管理器能在一个方法执行吗

在SpringBoot中,多数据源的事务管理器不能在一个方法执行中同时使用的原因与Spring框架的事务机制有关,Spring框架通过注解或XML配置来定义事务的边界和属性,当涉及到多数据源时,在一个方法中使用多个数据源,其事务管理器是不同的,而且不同数据源的事务管理器可能对应不同的数据库连接,Spring无法确保...

springboot配置信息(springboot配置jndi)

因为springboot加载配置文件时最底层是使用的下面的方法: 这两个方法只会获取classloader类的ucp属性里面第一个匹配到的值。如果对springboot自身的机制不满意,想获取所有的classpath:/路径下面的applicaiton.yml文件,可以使用下面的方法: 本文总结了springboot配置文件的原理以及多个配置文件生效的顺序。如果存在增加了...

springboot怎么用(springboot怎么用在web上又用在微信小程序上)_百 ...

因为有spring-boot-starter-rsocketdependency依赖,所以springboot会自动配置RSocketserver。跟平常一样,可以用属性驱动的方式修改RSocketserver默认配置值。例如:通过增加如下配置在application.properties中,来修改RSocket端口 也可以根据需要进一步修改服务器的其他属性 3.2.设置客户端 接下来,我们来设置客户端,也是一个spring...

springboot多数据源配置(springboot多数据源配置和切换苞米豆)_百度知...

1、pom文件 2、配置文件 如果选择druid链接池要去除druid配置;还要配置一个默认数据源(spring.datasource.dynamic.primary) 3、数据源切换SpringBoot项目中配置多数据源@Transactional注解失效问题 当一个SpringBoot项目在配置了多个数据源,在编写Service层方法的时候,直接在service方法的上添加的@Transactional直接实现事务管...

springboot文件上传 springboot配置文件 springboot2 springboot中文手册 springboot版本 springboot原理 基于springboot的项目 spring boot常用注解 spring boot注解详解
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
新浪微博的气泡是怎么设置的? ...去驾校练车,一直躲避,现在又快两年了,科二还没考,怎么办呀?_百度知 ... 梦见给前任剪头发是什么意思,梦见前男友在理发 梦见前女友变短发的预兆 手机能不能无线接鼠标键盘,这样玩游戏多爽!!特别是玩穿越火线,这是一个... 长虹电视能不能用手机控制? PS怎么放大眼睛ps怎么放大眼睛画面 edwin在日本什么档次 梦见和讨厌的人度蜜月是什么意思 国内10大云服务器厂商,你用过几个? SpringBoot有几种读取配置的方式? 在springboot实体类的注解有哪些 SpringBoot如何注解事务声明式事务 spring有哪些常用注解 spring的常用注解是什么? springboot三大核心注解是什么? 14.SpringBoot的核心注解都有哪些? springboot核心注解是什么? SpringBoot的核心注解都有哪些? 小米3能否安装日文系统语言包? 小米系统文字 小米3如何设置语言为日本语? 如何吧手机系统修改成日语。我的没有日本语。我的有root。是要ROM大师还是自制刷机包还是要怎样 小米3怎么快速的切换日语输入法?MIUIV6系统 怎么把小米5 语言设置成日语 你好,请问小米3怎样把系统语言换成日语? 小米手机怎么才能更改日语系统。 为什么不开发啊~🙄 小米手机怎么添加日文? 怎样把MIUI改成日文的 小米手机怎样用软件修改系统语言,日语 springboot 什么注解可以返回字符串 springboot菜鸟教程 springboot 怎么用@scheduled注解 spring boot 什么注解可以让返回的json数据都为字符串 请教一个spring boot @Value注解问题 Spring boot @Service 和@Configuration 的区别? springBoot @RequestBody 写在方法上与写在参数上的区别? Spring Boot+Elasticsearch的集成中,@Document注解有什么作用? 手机充电时间过长对电池有影响吗 手机电池连续充电长达24小时以上,会对电池的使用和寿命有影响吗? 充电的时间太长对手机有什么危害 手机电池充电时间长了,会有什么影响? 手机充电很长时间对电池有损坏吗? 手机充电一晚上大概十小时对电池会不会有不好的影响 手机长时间充电对电池有影响吗 手机充电充了12小时忘记拔了,对电池有影响吗? 苹果手机充电时间过长对电池有影响吗 手机电池充电时间过长会损坏吗? 手机电池充电时间过长,会影响电池的使用寿命吗? 手机电池充电时间长,对手机有害吗?