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

下面就详细讲解一下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日

相关文章

  • CAD打开提示文件加载安全问题该怎么办?

    当你在使用CAD软件打开文件时,可能会遇到“文件加载安全问题”的提示。这是由于CAD要保证加载的文件的安全性,防止恶意代码或病毒的执行。以下是解决该问题的步骤: 步骤一:启用安全设置 打开CAD软件 点击“工具”菜单,选择“选项” 在“选项”对话框中,选择“安全性”选项卡 将“警告框架和警告框架”和“加载文件时检查每个文件的安全性”选项都设置为“启用” 点击…

    other 2023年6月25日
    00
  • MySQL数据类型varchar详解

    MySQL数据类型varchar详解 什么是MySQL数据类型varchar? varchar是一种MySQL数据类型,是用于存储可变长度的字符类型数据的。即该类型数据的长度可以根据具体数据大小而变化。 varchar的优缺点 优点 可变长度,占用空间较小; 随着数据内容的变化而变化,不会占用过多的空间; 可以存储最大长度为65,535(2^16-1)个字符…

    other 2023年6月25日
    00
  • mysql 8.0.13手动安装教程

    请您耐心看完以下的“MySQL 8.0.13手动安装教程”完整攻略。 目录 前置条件 步骤一:下载MySQL安装包 步骤二:解压安装包 步骤三:创建MySQL用户和用户组 步骤四:创建MySQL数据存放目录 步骤五:安装MySQL 步骤六:初始化MySQL数据库 步骤七:启动MySQL服务 步骤八:登录MySQL 前置条件 在开始安装之前,确保您已经满足以下…

    other 2023年6月27日
    00
  • SSAS aggregation 的作用及其使用

    SSAS Aggregation 的作用及其使用 在使用SQL Server分析服务(SSAS)构建数据立方体时,为了提高查询性能,我们需要使用聚合(Aggregation)技术。 什么是SSAS Aggregation 聚合是SSAS中的高级功能,用于存储和预计算SUM、COUNT、AVG等聚合函数在维度属性上的值集合。这样,当用户查询数据时,SSAS可以…

    其他 2023年3月28日
    00
  • 21.linux-写usb键盘驱动(详解)

    以下是关于“21.linux-写usb键盘驱动(详解)”的完整攻略: 写USB键盘驱动的基本步骤 写USB键盘驱动的基本步骤如下: 注册USB驱动。 实现probe函数,用于检测设备是否为USB键盘。 实现disconnect函数,用于断开设备连接。 实现read,用于读取键盘输入数据。 实现write函数,用于向键盘发送数据。 实现ioctl函数,用于处理…

    other 2023年5月9日
    00
  • Java多线程实现聊天客户端和服务器

    Java多线程实现聊天客户端和服务器 在Java中,多线程技术可以帮助我们实现一个简单的聊天客户端和服务器。本文将会详细讲解如何使用Java多线程技术实现。 前置知识 在学习本文之前,需要具备Java基础知识、Java IO基础知识以及基本的多线程编程知识。 设计聊天客户端 我们首先需要设计一个简单的聊天客户端,客户端需要完成以下功能: 连接服务器 发送消息…

    other 2023年6月27日
    00
  • java利用递归算法实现对文件夹的删除功能

    Java中利用递归算法实现对文件夹的删除功能,主要步骤如下: 1. 判断删除文件的类型 首先需要考虑到被删除的文件类型可能有两种,分别是文件和文件夹。因此,需要进行判断,如果是文件夹就递归调用删除文件夹方法,如果是文件则直接删除。 2. 循环删除子文件夹和文件 在调用删除文件夹方法时,需要循环遍历文件夹下的子文件夹和文件,并对其进行递归删除。如果子文件夹下还…

    other 2023年6月27日
    00
  • entityframework4.0(六)ef4的增加、删除、更改

    以下是关于“Entity Framework 4.0(六)EF4的增加、删除、更改”的完整攻略,包括EF4的基本知识、增加、删除更改的方法和两个示例。 EF4的基本知识 Entity Framework 4.0(EF4)是微软公司推出的一种ORM(对象关系映射)架,它可以将数据库中的表映射到.NET中的实体类,使得开发人员可以使用面向对象的方式来操作数据库。…

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