spring boot 注入 property的三种方式(推荐)

发布时间 - 2026-01-11 02:19:38    点击率:

以前使用spring的使用要注入property要配置PropertyPlaceholder的bean对象。在springboot除  了这种方式以外还可以通过制定 配置ConfigurationProperties直接把property文件的 属性映射到 当前类里面。

@ConfigurationProperties(prefix = "mypro", merge = true, locations = { "classpath:my.properties" })

ConfigurationProperties prefix 属性指示property文件中属性的前缀是什么。我这里写的是mypro。

因此property文件的属性必须mypro.x.y=z的形式;

     配置好ConfigurationProperties 之后就可以把property文件的属性映射到当前类了。

mypro.a:1
mypro.b:2
abc.d:123

property 文件里面mypro前缀的有a 和b两个。因此我在当前类就可以新建这两个属性。

 private int a;
 private int b;

这些需要映射的属性一定要加上getter 和setter。因为spring是通过反射调用方法来修改属性值的

        以前使用spring注入property的方式也同样适用。以前是xml配置PropertyPlaceholder。现在使用@bean 或者直接@Component配置这个类。只要把PropertyPlaceholderConfigurer添加到bean工厂,就可以使用@Value 取值了。

@Component
public class MyPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer{
 public MyPropertyPlaceholderConfigurer(){
 this.setIgnoreResourceNotFound(true);
   final List<Resource> resourceLst = new ArrayList<Resource>();
   resourceLst.add(new ClassPathResource("my.properties"));
   this.setLocations(resourceLst.toArray(new Resource[]{}));
 }
}
@Value("abc.d")
 private String test;

        另外的一种方法跟第二种差不多的。更像以前的xml配置PropertyPlaceholder。只是现在的配置是用@Configuration标注的类,用@Bean标注要配置的bean对象;

@Configuration
public class Testproperties { 
 @Bean
 public PropertyPlaceholderConfigurer properties(){
 
 
 final PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
   ppc.setIgnoreResourceNotFound(true);
   final List<Resource> resourceLst = new ArrayList<Resource>();
   resourceLst.add(new ClassPathResource("my.properties"));
   ppc.setLocations(resourceLst.toArray(new Resource[]{}));
   return ppc;
 }
}

以上所述是小编给大家介绍的spring boot 注入 property的三种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# spring  # boot  # property  # 注入  # Spring如何使用PropertyPlaceholderConfigurer读取文件  # Spring Boot中@ConditionalOnProperty的使用方法  # Spring @value和@PropertySource注解使用方法解析  # Spring Boot自定义配置属性源(PropertySource)  # Spring中property-placeholder的使用与解析详解  # Spring boot中PropertySource注解的使用方法详解  # 详解Spring Boot 自定义PropertySourceLoader  # spring-core组件详解——PropertyResolver属性解决器  # Spring框架读取property属性文件常用5种方法  # 小编  # 就可以  # 的是  # 我在  # 还可以  # 在此  # 要把  # 这两个  # 给大家  # 三种  # 方法来  # 所述  # 更像  # 第二种  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # properties  # br 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何在万网自助建站平台快速创建网站?  Laravel如何生成URL和重定向?(路由助手函数)  Swift开发中switch语句值绑定模式  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何处理表单验证?(Requests代码示例)  EditPlus中的正则表达式实战(5)  如何自定义建站之星模板颜色并下载新样式?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  PythonWeb开发入门教程_Flask快速构建Web应用  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何用AWS免费套餐快速搭建高效网站?  清除minerd进程的简单方法  详解jQuery停止动画——stop()方法的使用  JS中对数组元素进行增删改移的方法总结  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel如何为API生成Swagger或OpenAPI文档  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  音响网站制作视频教程,隆霸音响官方网站?  高端建站如何打造兼具美学与转化的品牌官网?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  教学论文网站制作软件有哪些,写论文用什么软件 ?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  西安专业网站制作公司有哪些,陕西省建行官方网站?  网页设计与网站制作内容,怎样注册网站?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  EditPlus中的正则表达式实战(6)  php 三元运算符实例详细介绍  Firefox Developer Edition开发者版本入口  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何在云虚拟主机上快速搭建个人网站?  bootstrap日历插件datetimepicker使用方法  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何实现模型的全局作用域?(Global Scope示例)  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Laravel如何自定义错误页面(404, 500)?(代码示例)  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel如何配置任务调度?(Cron Job示例)  利用 Google AI 进行 YouTube 视频 SEO 描述优化