SpringBoot注入配置文件的3种方法详解

yizhihongxing

下面就详细讲解一下SpringBoot注入配置文件的3种方法。

方法1:使用@Value注解

步骤1:在application.properties配置文件中添加属性

app.name=My App
app.version=1.0.0

步骤2:在代码中使用@Value注解进行注入

@RestController
public class MyController {

    @Value("${app.name}")
    private String appName;

    @GetMapping("/app")
    public String getAppName() {
        return appName;
    }
}

示例代码中,我们使用@Value注解注入了配置文件中的app.name属性,并在GetMapping注解的方法中返回了这个属性的值,访问/app接口即可查看返回结果。

方法2:使用@ConfigurationProperties注解

步骤1:创建配置类

@ConfigurationProperties(prefix = "app")
public class AppConfig {

    private String name;
    private String version;

    // getter and setter
}

步骤2:在application.properties配置文件中添加属性

app.name=My App
app.version=1.0.0

步骤3:在主类中使用@EnableConfigurationProperties注解开启配置类

@SpringBootApplication
@EnableConfigurationProperties(AppConfig.class)
public class MyAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyAppApplication.class, args);
    }

}

步骤4:在代码中使用@Autowired注入配置类

@RestController
public class MyController {

    @Autowired
    private AppConfig appConfig;

    @GetMapping("/app")
    public String getAppInfo() {
        return appConfig.getName() + " " + appConfig.getVersion();
    }
}

示例代码中,我们使用@ConfigurationProperties注解创建了一个配置类AppConfig,这个类中的name和version属性对应了配置文件中的app.name和app.version属性。然后在主类中使用@EnableConfigurationProperties注解开启了配置类,最后使用@Autowired注解注入了配置类,并在GetMapping注解的方法中返回了这些属性的值,访问/app接口即可查看返回结果。

方法3:使用@PropertySource和@Value注解

步骤1:在AppConfig类上添加@PropertySource注解

@Configuration
@PropertySource("classpath:app.properties")
@ConfigurationProperties(prefix = "app")
public class AppConfig {

    private String name;
    private String version;

    // getter and setter
}

步骤2:在代码中使用@Value注解进行注入

@RestController
public class MyController {

    @Value("${app.name}")
    private String appName;

    @GetMapping("/app")
    public String getAppName() {
        return appName;
    }
}

示例代码中,我们使用@PropertySource注解在AppConfig类上添加配置文件的位置,然后在代码中使用@Value注解进行注入。注意,这里要使用${}语法来引用配置文件中的属性名,并在GetMapping注解的方法中返回了这个属性的值,访问/app接口即可查看返回结果。

以上就是SpringBoot注入配置文件的3种方法详解,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot注入配置文件的3种方法详解 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • MySQL分区字段列有必要再单独建索引吗?

    MySQL的分区表可以将大表拆分成管理更加简单的小表,从而提高查询效率。但是在创建MySQL分区表时,有一个问题需要考虑:分区字段列是否需要再单独建索引? 在MySQL分区表中,分区字段列的作用是将数据存储到相应分区中,因此查询时会自动锁定相应的分区,避免了全表扫描,从而提高查询效率。但是,如果分区字段列没有建立索引,MySQL就需要在每个分区中扫描所有数据…

    other 2023年6月25日
    00
  • WinXP内存优化教程(可提供系统运行速度)

    WinXP内存优化教程 在这个教程中,我将向您介绍一些优化Windows XP系统内存的方法,以提高系统的运行速度。以下是详细的步骤: 步骤一:禁用不必要的启动项 打开任务管理器:按下Ctrl + Shift + Esc键,或者右键点击任务栏并选择“任务管理器”。 切换到“启动”选项卡。 禁用不必要的启动项:右键点击不需要的启动项,并选择“禁用”。 示例说明…

    other 2023年8月2日
    00
  • 开发一个封装iframe的vue组件

    以下是开发一个封装iframe的vue组件的完整攻略: 一、定义组件 我们可以使用Vue的单文件组件定义一个iframe组件,具体步骤如下: 在项目的 components 文件夹下新建一个 Iframe.vue 文件。 在 Iframe.vue 中定义模板,如下所示: <template> <div> <iframe :src…

    other 2023年6月25日
    00
  • SQL 截取字符串应用代码

    以下是SQL截取字符串应用代码的完整攻略。 基础概念 在SQL中,有两个函数可以用来对字符串进行截取: LEFT()函数:截取字符串左边的字符。 RIGHT()函数:截取字符串右边的字符。 这两个函数都可以用来对字符串进行截取,它们的使用方式非常简单,只需要指定要截取的字符串,以及要截取的长度即可。 示例说明 现在,假设我们有一张学生信息表,其中包含学生的姓…

    other 2023年6月20日
    00
  • postman:上传文件测试

    Postman上传文件测试攻略 Postman是一款流行的API测试工具,它可以帮助我们测试API的各种功能,包括上传文件。在本文中,我们将详细介绍如何使用Postman进行上传文件测试。 步骤 以下是使用Postman进行上传文件测试的步骤: 打开Postman并创建一个新的请求。 选择HTTP方法(通常是POST或PUT)。 在请求URL中输入API的端…

    other 2023年5月7日
    00
  • nginx正则匹配

    以下是关于“nginx正则匹配”的完整攻略: nginx简介 nginx是一款高性能的Web服务器和反向代理服务器,它可以处理高并发请求,支持多种协议和编程语言。nginx的配置文件采用类似于C语言的语法,支持正则表达式匹配。 nginx正则匹配 nginx的正则表达式匹配采用PCRE(Perl Compatible Regular Expressions)…

    other 2023年5月9日
    00
  • spotbug常见错误心得

    以下是关于“SpotBugs常见错误心得”的完整攻略,包含两个示例。 SpotBugs常见错误心得 SpotBugs是一个静态分析工具,用于检测Java代码中的潜在缺陷。在使用SpotBugs时,我们可能会遇到一些常见的错误。以下是一些常见的错误和如何解决它们的详细攻略。 1. NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 这…

    other 2023年5月9日
    00
  • 关于PHP中Session文件过多的问题及session文件保存位置

    关于PHP中Session文件过多的问题及session文件保存位置,可以通过以下几点进行解决: 问题分析 首先,需要了解Session机制的原理。Session是一种服务器端存储用户信息的技术,它可以在用户登录后存储用户的信息,并在之后的访问中通过Session ID来识别用户身份。在PHP中,Session文件默认是存储在服务器的临时文件夹中,而当访问量…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部