首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
ConditionalOnNotWebApplication注解利用介绍、应用场景 ...
返回列表
发新帖
ConditionalOnNotWebApplication注解利用介绍、应用场景以及示例代码
[复制链接]
发表于 2024-7-12 21:54:20
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
概述
这个注解的作用是基于当前情况是否为Web应用来决定某些
配置
或Bean是否需要被加载。通常在开发Spring Boot应用时,会有一些
配置
或Bean只有在非Web情况下才需要生效,比如背景使命调治、数据处理惩罚等。
应用场景
背景使命调治器
:如果应用不是Web应用,可能需要
配置
一个背景的定时使命。
独立的数据处理惩罚程序
:在非Web情况下,可能需要加载一些独立的数据处理惩罚服务或工具类。
单元测试
:在单元测试中,偶然盼望某些Bean仅在非Web情况下进行加载,以便更好地进行单元测试。
利用示例
代码
假设我们有一个Spring Boot应用,此中有一个定时使命调治器只在非Web情况下生效。
import org.springframework.boot.autoconfigure.condition.ConditionalOnNotWebApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConditionalOnNotWebApplication
public class SchedulerConfig {
@Bean
public TaskScheduler taskScheduler() {
return new ThreadPoolTaskScheduler();
}
}
复制
代码
在上面的示例中:
@Configuration 表示这是一个配置类。
@ConditionalOnNotWebApplication 表示只有在当前应用不是Web应用时,这个配置类才会生效。
taskScheduler() 方法定义了一个Bean,用于创建一个使命调治器(TaskScheduler)的实例,这里利用了线程池使命调治器(ThreadPoolTaskScheduler)作为例子。
这样配置的结果是,当应用作为一个Web应用运行时,Spring
容器
将不会加载 SchedulerConfig 类中定义的 taskScheduler Bean,从而克制了不须要的初始化和资源斲丧。
总结来说,@ConditionalOnNotWebApplication 提供了一种便捷的方式来根据应用的Web情况与否来控制Bean或配置类的加载,有效地管理应用的资源和
性能
。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
返回列表
浏览过的版块
Postrge-SQL技术社区
物联网
开源技术
程序人生
数据仓库与分析
运维.售后
梦应逍遥
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表