千家信息网

springboot怎么通过@Value,@ConfigurationProperties获取配置

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"springboot怎么通过@Value,@ConfigurationProperties获取配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大
千家信息网最后更新 2026年11月01日springboot怎么通过@Value,@ConfigurationProperties获取配置

本篇内容主要讲解"springboot怎么通过@Value,@ConfigurationProperties获取配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot怎么通过@Value,@ConfigurationProperties获取配置"吧!

通过@Value,@ConfigurationProperties获取配置

spring boot 获取配置项值

使用版本是1.5.4

举例一个线程池的配置:

在application.yml添加配置项及值

    # 线程池配置    taskexecutor:      corePoolSize: 5      maxPoolSize: 10      queueCapacity: 25

通过@Value 获取值

@Configuration@EnableAsyncpublic class ExecutorConfig {    @Value("${taskexecutor.corePoolSize}")    private int corePoolSize;    @Value("${taskexecutor.maxPoolSize}")    private int maxPoolSize;    @Value("${taskexecutor.queueCapacity}")    private int queueCapacity;    @Bean    public Executor getAsyncExecutor() {        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();        executor.setCorePoolSize(corePoolSize);        executor.setMaxPoolSize(maxPoolSize);        executor.setQueueCapacity(queueCapacity);        executor.setThreadNamePrefix("TaskExecutor-");        executor.initialize();        return executor;    }    }

通过@ConfigurationProperties 获取值

    @Configuration    @EnableAsync    @ConfigurationProperties(ignoreUnknownFields = false,prefix = "taskexecutor")    public class ExecutorConfig {    private int corePoolSize;    private int maxPoolSize;    private int queueCapacity;    @Bean    public Executor getAsyncExecutor() {        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();        executor.setCorePoolSize(corePoolSize);        executor.setMaxPoolSize(maxPoolSize);        executor.setQueueCapacity(queueCapacity);        executor.setThreadNamePrefix("TaskExecutor-");        executor.initialize();        return executor;    }    }

通过@ConfigurationProperties加载配置文件,将配置项与bean及属性关联,指定ignoreUnknownFields当有属性未匹配到值时会抛出异常,用prefix指定配置项的前缀。

@ConfigurationProperties还支持层级结构、 布尔、集合等类型的值注入

说下@ConfigurationProperties和@Value区别

@Configuration@Value
功能批量注入配置文件中的属性一个个指定
松散绑定(松散语法)支持不支持
SPEL语法不支持支持
JSR303数据校验支持不支持
复杂类型封装支持不支持

配置文件yml还是properties他们都能获取到值;

如果说, 只是在某个业务逻辑中需要获取一项配置文件中的某项值, 使用@Value

如果说,专门编写了一个javaBean 来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

配置文件注入值数据校验

@Component@ConfigurationProperties(prefix = "person")@Validatedpublic class Person {     /**     *      *           *      */    //Value("${person.last-name}")    //lastName必须为邮箱格式    @Email    private String lastName;    //@Value("#{11*2}")    private Integer age;    //@Value("true")    private Boolean boss;    private Date birth;    private Map maps;    private List list;    private Dog dog;

到此,相信大家对"springboot怎么通过@Value,@ConfigurationProperties获取配置"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

配置 支持 文件 属性 松散 内容 数据 类型 线程 语法 学习 复杂 实用 更深 业务 兴趣 前缀 功能 只是 实用性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳恒合互联网络科技有限公司 互联网下的科技发展 互联网络科技有限公司 上海挚品互联网科技 易通互联网络科技有限公司 互联网科技公司有哪些 互联网养老 桔豆科技 美国互联网前沿科技 华脉科技工业互联网产品 太原新华互联网科技学校怎么样 北京大学互联网科技怎么样 团飞科技与伯堂互联网服务平台 阿里互联网科技企业 互联网科技公司营业执照怎么办理 梅州GM互联网络科技有限公司 长沙渺峰互联网科技有限公司 中国科技和美国互联网 亚光科技低轨卫星互联网 互联网领先科技成果宣传视频 知域互联网科技有限公司官网 上海卓越科技互联网 互联网科技卖菜 互联网 科技创新 朗涯互联网科技 互联网系的金融科技公司 苏州五指互联网络科技有限 山东有哪些互联网科技公司 陕西云淼互联网科技公司 吉林省码上互联网科技电话 山东蛋芒互联网科技有限公司
0