当前位置: 首页 > web >正文

spring注解之配置注解

@Configuration

标识该类是一个 Spring 配置类,可以通过@Autowired注解注入

@ConfigurationProperties

作用:将外部配置文件(如 application.properties/application.yml)中的属性批量绑定到 Java 对象的字段上。
参数 prefix = "email":指定配置项的前缀。

email.host=smtp.example.com   → 绑定到 host 字段
email.username=admin@test.com → 绑定到 username 字段
email.password=123456        → 绑定到 password 字段

 @ConditionalOnProperty

作用条件化加载配置,仅当指定的配置属性存在且满足条件时,才启用被注解的 Bean/配置。

参数解析:
prefix = "email":配置项的前缀。
name = {"host", "username", "password"}:要求必须同时存在这三个配置项。
效果:仅当配置文件中完整设置了 email.host、email.username 和 email.password 时,当前配置类才会生效。缺少任一配置,整个配置类将被忽略。 

总结

/*** 招聘数据邮件配置* @author : lvyiting* @date : 2025/05/27**/
@Data
@Configuration
@ConfigurationProperties(prefix = "recruit.email")
public class RecruitEmailProperties {/*** 邮件公共配置*/private Common common;/*** 发送邮件配置*/private Send send;/*** 接收邮件配置*/private Receive receive;@Datapublic static class Common {/*** 邮件用户名*/private String username;/*** 邮件密码*/private String password;}@Datapublic static class Send {/*** 发送邮件服务器地址*/private String host;}@Datapublic static class Receive {/*** 接收邮件服务器地址*/private String host;/*** 接收邮件服务器端口*/private int port;/*** 接收邮件服务器协议*/private String protocol;}
}
recruit:email:common:username: blue@niuxiaoer.netpassword: DPZhbaZgyyaPbFATsend:host: smtp.exmail.qq.comreceive:host: imap.exmail.qq.comport: 993protocol: imap

http://www.xdnf.cn/news/12272.html

相关文章:

  • 《图解技术体系》How Redis Architecture Evolves?
  • 【科研绘图系列】R语言绘制和弦图(Chord diagram plot)
  • 大模型数据流处理实战:Vue+NDJSON的Markdown安全渲染架构
  • 高防服务器能够抵御哪些网络攻击呢?
  • 宠物空气净化器哪个好用?2025宠物空气净化器测评:352、希喂、有哈
  • 智慧园区数字孪生全链交付方案:降本增效30%,多案例实践驱动全周期交付
  • 基于正点原子阿波罗F429开发板的LWIP应用(5)——TFTP在线升级功能
  • Spring之事务管理方式
  • Go中的协程并发和并发panic处理
  • GitHub 趋势日报 (2025年06月04日)
  • Linux --环境变量,虚拟地址空间
  • 强化学习在LLM中应用:RLHF、DPO
  • 网络通信核心概念全解析:从IP地址到TCP/UDP实战
  • 面试题:Java多线程并发
  • JAVA之 Lambda
  • chrome使用手机调试触屏web
  • Nginx学习笔记
  • 【Go语言基础【2】】数据类型之基础数据类型:数字、字符、布尔、枚举、自定义
  • Unity3D中Newtonsoft.Json序列化优化策略
  • [蓝桥杯]倍数问题
  • 倍福 PLC程序解读
  • kubectl 命令
  • docker 搭建php 开发环境 添加扩展redis、swoole、xdebug(2)
  • 游戏设计模式 - 子类沙箱
  • 计算机网络备忘录
  • SDC命令详解:使用set_fanout_load命令进行约束
  • AI Agent 项目 SUNA 部署环境搭建 - 基于 MSYS2 的 Poetry+Python3.11 虚拟环境
  • 鸿蒙jsonToArkTS_工具exe版本来了
  • 上门服务小程序会员系统框架设计
  • 鸿蒙UI(ArkUI-方舟UI框架)- 使用弹框