`

Spring Boot读取配置的几种方式

阅读更多

读取application文件

在application.yml或者properties文件中添加:

info.address=USA

info.company=Spring

info.degree=high

@Value注解读取方式

  1. import org.springframework.beans.factory.annotation.Value;

  2. import org.springframework.stereotype.Component;

  3.  

  4. @Component

  5. publicclassInfoConfig1{

  6.  

  7.    @Value("${info.address}")

  8.    privateString address;

  9.  

  10.    @Value("${info.company}")

  11.    privateString company;

  12.  

  13.    @Value("${info.degree}")

  14.    privateString degree;

  15.  

  16.    publicString getAddress(){

  17.        return address;

  18.    }

  19.  

  20.    publicvoid setAddress(String address){

  21.        this.address = address;

  22.    }

  23.  

  24.    publicString getCompany(){

  25.        return company;

  26.    }

  27.  

  28.    publicvoid setCompany(String company){

  29.        this.company = company;

  30.    }

  31.  

  32.    publicString getDegree(){

  33.        return degree;

  34.    }

  35.  

  36.    publicvoid setDegree(String degree){

  37.        this.degree = degree;

  38.    }

  39.  

  40. }

@ConfigurationProperties注解读取方式

  1. @Component

  2. @ConfigurationProperties(prefix ="info")

  3. publicclassInfoConfig2{

  4.  

  5.    privateString address;

  6.    privateString company;

  7.    privateString degree;

  8.  

  9.    publicString getAddress(){

  10.        return address;

  11.    }

  12.  

  13.    publicvoid setAddress(String address){

  14.        this.address = address;

  15.    }

  16.  

  17.    publicString getCompany(){

  18.        return company;

  19.    }

  20.  

  21.    publicvoid setCompany(String company){

  22.        this.company = company;

  23.    }

  24.  

  25.    publicString getDegree(){

  26.        return degree;

  27.    }

  28.  

  29.    publicvoid setDegree(String degree){

  30.        this.degree = degree;

  31.    }

  32.  

  33. }

读取指定文件

资源目录下建立config/db-config.properties:

db.username=root

db.password=123456

@PropertySource+@Value注解读取方式

  1. @Component

  2. @PropertySource(value ={"config/db-config.properties"})

  3. publicclassDBConfig1{

  4.  

  5.    @Value("${db.username}")

  6.    privateString username;

  7.  

  8.    @Value("${db.password}")

  9.    privateString password;

  10.  

  11.    publicString getUsername(){

  12.        return username;

  13.    }

  14.  

  15.    publicvoid setUsername(String username){

  16.        this.username = username;

  17.    }

  18.  

  19.    publicString getPassword(){

  20.        return password;

  21.    }

  22.  

  23.    publicvoid setPassword(String password){

  24.        this.password = password;

  25.    }

  26.  

  27. }

注意:@PropertySource不支持yml文件读取。

@PropertySource+@ConfigurationProperties注解读取方式

  1. @Component

  2. @ConfigurationProperties(prefix ="db")

  3. @PropertySource(value ={"config/db-config.properties"})

  4. publicclassDBConfig2{

  5.  

  6.    privateString username;

  7.    privateString password;

  8.  

  9.    publicString getUsername(){

  10.        return username;

  11.    }

  12.  

  13.    publicvoid setUsername(String username){

  14.        this.username = username;

  15.    }

  16.  

  17.    publicString getPassword(){

  18.        return password;

  19.    }

  20.  

  21.    publicvoid setPassword(String password){

  22.        this.password = password;

  23.    }

  24.  

  25. }

Environment读取方式

以上所有加载出来的配置都可以通过Environment注入获取到。

  1. @Autowired

  2. privateEnvironment env;

  3.  

  4. // 获取参数

  5. String getProperty(String key);

总结

从以上示例来看,Spring Boot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量

分享到:
评论

相关推荐

    spring boot2.0以上版本整合mybatis+pagehelper+druid

    Spring Boot 2.0版本以上的源码 使用 Spring Boot 的优势 使用 Spring Boot 开发项目,会给我们带来非常美妙的开发体验,可以从以下几个方面...Spring Boot 对测试的支持不可谓不强大,Spring Boot 内置了7种强大的测

    spring boot 小例子

    通常,Spring Boot 提供两种打包方式:jar 和 war。jar 包适合独立运行,内嵌了 Servlet 容器;而 war 包则需要部署到外部的 Servlet 容器,例如 Tomcat 或 Jetty。 描述中提到"直接打包成war包,部署到tomcat下",...

    Spring cloud 微服务框架 Mica 中的基础组件,用来生成 Spring boot starter 的一些基础配置

    Spring Boot Starter是一种便利的模块化方式,它允许开发者通过添加依赖来快速启动特定的功能。例如,如果一个项目需要使用数据访问功能,只需要引入`spring-boot-starter-data-jpa`依赖即可。Mica-auto的角色就是...

    Spring Boot技术知识点:如何读取不同路径里的applicationContext.xml配置文件4

    然而,如果确实有需求,可以通过以下几种方式引入XML配置: 1. **启用XML配置** 在Spring Boot项目中,我们可以通过添加`@ImportResource`注解到主配置类(即带有@SpringBootApplication注解的类)上来导入XML配置...

    spring boot 入门案例

    总结来说,这个"spring boot 入门案例"涵盖了 Spring Boot 基础应用的几个关键方面:自动配置、Web 开发(使用 Thymeleaf 模板引擎)、数据库交互(借助 Spring Data JPA)。对于初学者来说,通过这个案例可以学习到...

    基于Spring Boot + NIO实现的电商平台见证宝服务

    在本项目中,Spring Boot主要负责以下几个方面: 1. **依赖管理**:Spring Boot自动配置了大量常用的依赖,如数据访问、Web服务等,开发者只需声明依赖,即可自动引入相应的配置。 2. **启动类**:使用@SpringBoot...

    使用MyEclipse创建Spring Boot项目demo

    使用 Spring Boot 开发项目,会给我们带来非常美妙的开发体验,可以从以下几个方面展开来说明 Spring Boot 让开发变得更简单 Spring Boot 对开发效率的提升是全方位的,我们可以简单做一下对比: 在没有使用 ...

    2024Spring Boot原理篇HM

    除了上述配置文件之外,Spring Boot还提供了两种常见的外部属性配置方式: - **Java系统属性配置**:使用`-Dkey=value`的形式设置。 - **命令行参数**:使用`--key=value`的形式设置。 这两种配置方式可以用来覆盖...

    Spring Boot 学习笔记完整教程.pdf

    8. Spring Boot配置:理解如何在Spring Boot中进行配置,包括外部化配置、配置文件读取、自定义配置等。 9. Spring Boot任务调度:了解如何在Spring Boot中实现定时任务和异步任务。 10. Spring Boot集成测试:...

    详解Spring-boot中读取config配置文件的两种方式

    通过以上两种方式,开发者可以在Spring Boot项目中灵活地管理和读取配置文件,以适应不同场景的需求。无论是核心配置文件还是自定义配置文件,Spring Boot提供的强大配置支持都能让应用的配置管理变得简单而高效。

    spring boot 多数据源项目

    1. **配置多数据源**:Spring Boot通过`@ConfigurationProperties`注解可以轻松读取配置文件中的属性,并将其映射到Java对象中。在`application.yml`或`application.properties`中,我们需要定义两个或更多的数据源...

    dynamic-datasource-spring-boot-starter_多数据源_

    实现动态数据源通常有以下几种方式: 1. **基于AOP(面向切面编程)**:通过AOP织入切面,拦截数据访问的SQL语句,然后根据规则选择对应的数据源执行。 2. **基于Router(路由)**:定义一个数据源路由类,根据...

    Spring事务管理的几种配置方式,

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。Spring提供了多种事务管理配置方式,适合不同的应用场景...无论哪种方式,了解其原理和使用场景对于开发高效、可靠的Spring应用至关重要。

    Spring Boot + Spring Session + Redis

    Spring Boot是Spring的一个模块化、简化版,它提供了快速构建独立、生产级别的Java应用程序的能力,通过自动配置和“起步依赖”简化了Spring应用的搭建和开发过程。 Spring Session是一个为了解决传统HttpSession在...

    基于Spring Boot的民宿租赁系统的设计与实现论文

    为了解决上述问题,本研究提出了一种基于Spring Boot框架的民宿租赁系统设计方案。该系统旨在通过计算机软件的应用,提高信息处理效率,规范信息管理流程,并使得管理工作更加系统化和程序化。 #### 三、Spring ...

    spring boot xsl

    1. **Spring Boot与XML配置**:Spring Boot默认推崇的是基于Java的配置,但它也支持XML配置。开发者可以通过`@ImportResource`注解来引入XML配置文件。 2. **XSLT处理**:Spring Boot项目中,可以通过Java的`javax....

    Springboot读取本地json文件工程

    在Spring Boot应用中读取本地JSON文件,通常有以下几种方法: 1. **使用Java I/O流**:这是最基础的方法,通过`java.io`包中的`FileReader`和`BufferedReader`类,可以打开并读取JSON文件内容。例如: ```java ...

    spring boot+mail邮件服务学习demo项目源码

    使用Spring Boot的`Java配置`,我们可以创建一个配置类,通过`@EnableConfigurationProperties`注解来读取邮件服务的配置,并注入到`JavaMailSender`实例中。然后,可以创建一个服务类,该类包含发送邮件的方法,...

    Spring_boot_demo.rar

    5. **YAML/Properties 配置**:Spring Boot 支持 YAML 或 Properties 文件进行配置,YAML 提供更易读的格式,而 Properties 则与 Spring 的传统配置方式保持一致。配置文件通常位于 `src/main/resources` 目录下,...

    spring-boot-cli-2.3.6.RELEASE-bin.zip

    5. **YAML/Properties配置**:Spring Boot支持YAML和Properties两种格式的配置文件,YAML更易读写,Properties则更传统。配置文件通常位于`src/main/resources/application.yml`或`application.properties`。 6. **...

Global site tag (gtag.js) - Google Analytics