SpringBoot实现读取YML,yaml,properties文件

 更新时间:2023年04月14日 10:42:52   作者:Recently祝祝  
yml,yaml,properties三种文件都是用来存放配置的文件,一些静态数据,配置的数据都会存放到里边。本文主要为大家整理了SpringBoot实现读取YML,yaml,properties文件的方法,需要的可以参考一下

yml,yaml,properties三种文件都是用来存放配置的文件,一些静态数据,配置的数据都会存放到里边。但是有的时候我们不仅仅需要存储静态数据,还需要从文件中读取数据出来。这三种文件都放在项目--》src--》main--》resource下边。如果resource里边需要存放其他文件的话,会在resource里边创建一个config包。将配置文件存放其中。

1.在项目中新建配置文件,文件存放地址

bootstrap.yml是SpringBoot程序的一个配置文件,在项目启动前就会被加载,将数据加载后,方便后续使用。一般放置一些关键性的数据:数据库连接数据,Redis消息队列配置数据,Hikari 连接池配置、mybatis-plus配置信息、日志信息等。

配置文件写好后,需要加入下边这一段配置,激活配置文件。指定激活配置文件,可以用于不同环境激活不同的配置文件。

#启动配置文件(开发、生成)
profiles:
  active: dev

2.配置文件中写入相关配置

除了放置必要的配置,还可以放置一些系统中,静态化的数据,可以写入配置文件中,在读取出来使用。

global:
  upload:
    maxSize: 100MB
    location: /var/uploads

属性后边需要空一格在写,不然会报错

3.创建一个类来接收这些配置

接收这些配置到文件,将配置文件中的属性值自动注入到Java类中,避免手写的麻烦,使用注释解放了双手,很好的接收文件。

@Data
@Component
@ConfigurationProperties(prefix = "global.upload")
public class UploadProperties {
    private String location;
    private String maxSize;
}
  • @ConfigurationProperties 是 Spring Boot 中用于从配置文件读取配置属性的注解。
  • 当你使用 @ConfigurationProperties(prefix = "global.upload")注解的时候,你可以读取配置文件中以 "global.upload" 为前缀的属性,并将这些属性映射到一个 Java Bean 中。
  • 使用 @ConfigurationProperties 注解可以更方便地读取多个属性,并且可以使用内置的验证和转换功能。

4.举例获取并且使用配置文件里边的数据

@Service
public class FileServiceImpl implements FileService {

    @Autowired
    private UploadProperties uploadProperties ;
    @Override
    public String uploadFile(MultipartFile file) throws Exception {
    		String fileUrl=null;
            if (!( uploadProperties.getLocation() ==null)) {
                  fileUrl =  uploadProperties.getLocation().replace("/", File.separator) + fileAdd + File.separator + System.currentTimeMillis() + "." +uploadProperties.getMaxSize();
            }else {
                  fileUrl = "D:\\uploadFiles\\report\\" + fileAdd + File.separator + System.currentTimeMillis() + "." + uploadProperties.getMaxSize();
            }
	}
}

这一个例子中,Spring的@Service注解标注的服务类,其中实现了一个文件上传的方法uploadFile,具体功能是将上传的MultipartFile类型的文件保存到指定的位置,然后返回文件的访问地址。

在该类中通过@Autowired注解将UploadProperties类型的Bean注入进来,UploadProperties包含了文件上传相关的配置信息,例如文件上传保存的位置、最大文件大小等。

在uploadFile方法中,首先判断上传文件的保存位置是否为空,如果不为空,则将文件保存到指定位置,否则将文件保存到默认位置。文件保存的位置是由uploadProperties.getLocation()和fileAdd拼接而成,其中fileAdd是一个自定义的子目录名称,用于区分不同的上传场景。

最后,根据保存的文件名和位置拼接成文件的访问地址,并将其返回。

到此这篇关于SpringBoot实现读取YML,yaml,properties文件的文章就介绍到这了,更多相关SpringBoot读取YML properties内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring MVC学习之DispatcherServlet请求处理详析

    Spring MVC学习之DispatcherServlet请求处理详析

    这篇文章主要给大家介绍了关于Spring MVC学习教程之DispatcherServlet请求处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2018-11-11
  • Springboot应用中@EntityScan和@EnableJpaRepositories的使用详解

    Springboot应用中@EntityScan和@EnableJpaRepositories的使用详解

    在Spring Boot中,若Entity和Repository不在主包内,需通过@EntityScan和@EnableJpaRepositories指定扫描路径,注意basePackages需完整覆盖,避免重复注册或Bean缺失错误
    2025-08-08
  • Spring boot实现上传文件到本地服务器

    Spring boot实现上传文件到本地服务器

    这篇文章主要为大家详细介绍了Spring boot实现上传文件到本地服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • java使用xpath和dom4j解析xml

    java使用xpath和dom4j解析xml

    XPath是一门在XML文档中查找信息的语言,下面介绍一下java使用xpath和dom4j解析xml的示例,大家参考使用吧
    2014-01-01
  • Java正则表达式匹配字符串并提取中间值的方法实例

    Java正则表达式匹配字符串并提取中间值的方法实例

    正则表达式常用于字符串处理、表单验证等场合,实用高效,下面这篇文章主要给大家介绍了关于Java正则表达式匹配字符串并提取中间值的相关资料,需要的朋友可以参考下
    2022-06-06
  • java GUI编程之监听操作实例分析

    java GUI编程之监听操作实例分析

    这篇文章主要介绍了java GUI编程之监听操作,结合实例形式分析了java GUI编程监听操作的Button监听、TextField文本输入监听等相关操作技巧与注意事项,需要的朋友可以参考下
    2020-01-01
  • Mybatis的update更新批量与普通解决方式对比

    Mybatis的update更新批量与普通解决方式对比

    这篇文章主要为大家介绍了Mybatis的update更新批量与普通解决方式对比,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • intelliJ idea 2023 配置Tomcat 8图文教程

    intelliJ idea 2023 配置Tomcat 8图文教程

    这篇文章主要介绍了intelliJ idea 2023 配置Tomcat 8教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Spring事务传播机制最佳实践

    Spring事务传播机制最佳实践

    Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧
    2025-07-07
  • 详解JAVA中static的作用

    详解JAVA中static的作用

    这篇文章主要介绍了JAVA中static的作用,文中讲解非常细致,代码帮助大家更好的理解,感兴趣的朋友可以了解下
    2020-06-06

最新评论