尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
@Conditional相关注解
看接口是否能调用或者初始化方法判断类有没有实例化package com.example.demo.condition; import com.example.demo.DemoApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Conditional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.PostConstruct; /** * * ConditionalOnProperty 的作用是 当指定的配置属性满足条件时 加载被标注的 Bean否则不加载该 Bean。它通常用于根据外部配置动态控制功能的启用或禁用。 * 如果配置文件中 marketing.direct.push.pressureTestingSwitchtrue 则会加载 PushPressureApiTest Bean。 * 如果配置文件中 marketing.direct.push.pressureTestingSwitchfalse 则不会加载 PushPressureApiTest Bean。 * 如果配置文件中未定义 marketing.direct.push.pressureTestingSwitch 由于 matchIfMissingtrue也会加载 PushPressureApiTest Bean * 如果没有matchIfMissingtrue则不会加载。 * * ConditionalOnExpression 的作用是 当指定的 SpEL 表达式计算结果为 true 时 加载被标注的 Bean否则不加载该 Bean。 * 它提供了一种灵活的方式根据运行时的条件动态地控制 Bean 的创建。 * * ConditionalOnMissingBean 的作用是 仅当指定类型的 Bean 不存在于 Spring 容器中时 才会加载被标注的 Bean。 * 它通常用于提供默认的 Bean 定义同时允许用户通过自定义配置覆盖默认的实现。 * * ConditionalOnBean 的作用是 仅当指定类型的 Bean 存在于 Spring 容器中时 才会加载被标注的 Bean。 * 它通常用于依赖某些 Bean 的存在来决定是否加载其他 Bean。 * * Conditional 的作用是 当指定的条件满足时加载被标注的 Bean 否则不加载该 Bean。 * 它是 Spring 的条件化配置的核心注解通常与自定义的条件类配合使用。 * */ RestController RequestMapping(/api/open/v1/test) //ConditionalOnProperty(name marketing.direct.push.pressureTestingSwitch, havingValue true, matchIfMissing true) //ConditionalOnExpression(${marketing.direct.push.pressureTestingSwitch:true}) //ConditionalOnBean(ConditionDemo.class) //ConditionalOnMissingBean(ConditionDemo.class) Conditional(MyCondition.class) public class PushPressureApiTest { PostConstruct public void init() { System.out.println(PushPressureApiTest类实例化了); } PostMapping(/push/sendMessage) public String pressure() { return hello; } }package com.example.demo.condition; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; public class MyCondition implements Condition { Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return false; } }package com.example.demo.condition; import org.springframework.stereotype.Component; Component public class ConditionDemo { }
RELATED

相关推荐

Webstudio 断点(Breakpoints)完全指南:从响应式布局到媒体条件高级应用

Webstudio 断点(Breakpoints)完全指南:从响应式布局到媒体条件高级应用

低代码前端 【免费下载链接】webstudio Open source website builder and Webflow alternative. Webstudio is an advanced visual builder that connects to any headless CMS, supports all CSS properties, and can be hosted anywhere, including with us. 项目地址&#x…

📅 2026/10/9 1:42:11
工单Agent设计实战:从面试题到生产级落地的五大核心能力

工单Agent设计实战:从面试题到生产级落地的五大核心能力

1. 这不是考算法题,是考你能不能把AI真正用起来“Agent 工程师面试到底考察什么?”——这个问题我被问过至少37次,提问者里有刚刷完LeetCode准备转AI的后端工程师,有带团队落地过5个智能客服项目的PM,也有在大厂做了一…

📅 2026/10/9 1:37:10
LangGraph部署三路径:FastAPI封装、LangServe与持久化服务

LangGraph部署三路径:FastAPI封装、LangServe与持久化服务

1. 项目概述:为什么“从脚本到服务”是LangGraph落地的生死线你写完一个LangGraph流程图,节点连得漂亮,状态流转逻辑清晰,本地跑通了——然后呢?把它发给产品同事,对方回一句:“能部署吗&#x…

📅 2026/10/9 1:37:10
MORE NEWS

更多资讯

📰

ChatGLM大模型微调实战:单卡LoRA从环境配置到部署避坑指南

简介:面向ChatGLM系列大模型微调需求的实践资源包,聚焦AI大模型应用与自然语言处理场景,适合正在学习或落地大模型微调的开发者、算法工程师与科研人员。压缩包内共148个文件,以58个Python脚本、36个Jupyter Notebook为核心&#…

📰

Keras-Transformer中英翻译项目实操:模型原理、环境配置与避坑指南

简介:基于Python的中英机器翻译系统采用Keras-Transformer模型,面向深度学习初学者及毕业设计、课程设计场景,提供一套结构完整、可直接运行的机器翻译项目方案。资源共20个文件,压缩包7.42MB,包含核心Python脚本、Jup…

📰

开源商城前端选型指南:关键维度与避坑实录

先聊一个我这两年越来越坚定的判断:商城系统开发这事儿,选型前端项目比绝大多数人想象中更重要,甚至可以说,它在很大程度上决定了你后续三到六个月的开发状态是“顺风顺水”还是“拆东墙补西墙”。我自己见过太多团队,…

📰

多店铺管理如何用API集成实现自动化订单同步与库存联动

做电商的人都知道,店铺一多,运营就乱。以前我盯两家店的时候,靠Excel还能勉强撑住,商品改个价格两台电脑来回切,订单导出导入反复核对。等店铺数量到了五家以上,这套手工流程基本就崩了——不是某个环节出错…

📰

Spring Bean初始化必知:@PostConstruct原理、应用场景与避坑指南

1. 为什么我建议不要在构造函数里做初始化先说一个常见的场景:Spring Boot项目启动后,需要从数据库加载一批配置数据到内存缓存中,或者需要在应用启动时初始化一个线程池、连接池、加载敏感词库之类的资源。很多初学者会把这段初始化逻辑直接…

📰

微信小程序+PHP校友惠超市管理系统源码深度解析

1. 项目概述1.1 核心需求解析“师大校友惠超市管理系统”这个名字一出来,基本就能猜到它的定位:一个跑在微信小程序里的会员制超市购物平台,核心服务对象是高校校友这个特殊群体。所谓“校友惠”,说白了就是学校背书、校友专享的优…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬