首页 > 其他分享 >springboot里的@PropertySource注解介绍

springboot里的@PropertySource注解介绍

时间:2023-06-25 14:01:02浏览次数:33  
标签:PropertySource springboot classpath 源文件 注解 属性 加载

在Spring Boot中,@PropertySource注解用于加载外部的属性源文件,将其作为配置文件来使用。该注解可以用于标记在Java类上,并指定要加载的属性源文件的位置。

使用@PropertySource注解可以很方便地将外部的属性文件加载到Spring的环境中,并可以通过@Value注解或Environment对象来访问这些属性。

以下是@PropertySource注解的主要特点和使用方式:

  1. 指定属性源文件的位置:使用value属性可以指定要加载的属性源文件的位置。例如,@PropertySource("classpath:myconfig.properties")表示从classpath中加载名为myconfig.properties的属性源文件。

  2. 支持多个属性源文件:可以使用value属性指定多个属性源文件的位置。例如,@PropertySource({"classpath:config1.properties", "classpath:config2.properties"})表示从classpath中加载两个属性源文件。

  3. 忽略不存在的属性源文件:默认情况下,如果指定的属性源文件不存在,会引发异常。可以通过ignoreResourceNotFound属性设置为true来忽略不存在的属性源文件。

  4. 引入额外的属性源文件格式支持:可以通过factory属性指定一个PropertySourceFactory类型的实例,以支持其他的属性源文件格式。例如,可以使用@PropertySource(value = "classpath:myconfig.yaml", factory = YamlPropertySourceFactory.class)来加载YAML格式的属性源文件。

需要注意的是,在Spring Boot中,推荐使用application.propertiesapplication.yml作为主要的配置文件,而不是使用@PropertySource注解加载单独的属性源文件。这是因为Spring Boot会自动加载并解析主配置文件,而且可以更方便地通过@Value注解或Environment对象来访问配置属性。

综上所述,@PropertySource注解在Spring Boot中用于加载外部的属性源文件,将其作为配置文件来使用,并可以通过@Value注解或Environment对象来访问这些属性。但在大多数情况下,推荐使用默认的主配置文件来管理应用程序的配置属性。

标签:PropertySource,springboot,classpath,源文件,注解,属性,加载
From: https://www.cnblogs.com/shamo89/p/17502772.html

相关文章

  • Spring和Spring MVC中的常用注解
    spring中的常用注解@Compontent:表示这是spring管理的一个组件@Controller:控制层的组件@Service:业务层的组件@Repository:持久层组件@Autoeire:自动装配注解@Qualifier:Autowired默认是根据类型进行注入的,Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如......
  • 【转】SpringBoot 线上服务假死,CPU 内存正常
    文章来源:blog.csdn.net/zhangcongyi420/article/details/1311395991、背景开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。 2、问题排查老规矩在集群环境中同一个服务......
  • 11.springboot 原理 ( 起步依赖-自动配置)
    springboot原理springframeworkspringboot(配置起步依赖-自动配置)spring-boot-starter-web起步依赖(其他依赖自动传递)自动配置原理:自动将内置类存入IOC容器中,不用收到配置,只能扫描包内即子包的类,可以指定扫描的包内容:@ComponentScan("com.alex","com.ite");@Import导......
  • Apollo2.1.0+Springboot使用OpenApI
    依赖管理<!--bootstrap最高级启动配置读取--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.1.3</v......
  • Java注解介绍
    1.元注解Java定义了4个标准得meta-annotation,用于对注解作说明@Target:描述注解的使用范围,即注解可以用在什么地方(如类,方法、成员变量等)@Retention:表示注解的生命周期(SOURCE<CLASS<RUNTIME)(一般选择RUNTIME)@Document:说明注解是否被包含在javadoc中@Inherited:说......
  • 8. IOC & DI注解开发管理第三方bean
    ‍1.注解开发管理第三方bean‍在上述环境中完成对​Druid​数据源的管理,具体的实现步骤为:步骤1:导入对应的jar包<dependency>  <groupId>com.alibaba</groupId>  <artifactId>druid</artifactId>  <version>1.1.16</version></dependency>步骤2:在......
  • springboot使用Websocket写一个聊天室
     1<!--websocket依赖-->2<dependency>3<groupId>org.springframework.boot</groupId>4<artifactId>spring-boot-starter-websocket</artifactId>5</dependency>目录 ......
  • 基于springboot+vue的漫画之家管理系统,附源码+数据库+论文+PPT,适合课程设计、毕业设计
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,“漫画之家”系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计......
  • springboot 学习框架
    李兴华,springboot开发书籍配套视频https://www.bilibili.com/video/BV1wL411H7W8?p=172&vd_source=debae4e77e1cafd283cb9668d2acb3a7......
  • 7. IOC & DI注解开发
    要想真正简化开发,就需要用到Spring的注解开发,Spring对注解支持的版本历程:2.0版开始支持注解2.5版注解功能趋于完善3.0版支持纯注解开发关于注解开发,我们会讲解两块内容​注解开发定义bean​和纯注解开发​。注解开发定义bean用的是2.5版提供的注解,纯注解开发用......