IDEA中使用.env文件配置信息

一、说明

我们以配置阿里云的 Access Key 的信息为例(配置别的信息当然也可以,我只是举个例子!!!),假设我们的代码中需要用到它。Access Key有两个属性,分别为【ALIBABA_CLOUD_ACCESS_KEY_ID】和【ALIBABA_CLOUD_ACCESS_KEY_SECRET】,都是需要配置的。

配置完成之后我们在一个SpringBoot框架搭建的一个应用中演示一下怎么使用它(当然还有很多别的使用方法,这里只是做一个演示!!!)。

依赖:

SpringBoot + Lombok + SpringBoot Test

二、步骤

2.1 配置

在项目目录下创建.env文件,我这里是和POM文件在同一个目录下,配置两个属性的值:

ALIBABA_CLOUD_ACCESS_KEY_ID = xxxxx
ALIBABA_CLOUD_ACCESS_KEY_SECRET = xxxxx

 在 .gitignore文件下添加如下信息,我们配置的.env文件就可以不会被传到git仓库中去了,保证信息的安全(是否配置还是视情况而定,如果要发布到组织外部的代码仓库当然要配置起来了hhhh):

### .env profile ###
.env

 安装一个EnvFile插件:

IDEA中使用.env文件配置信息_第1张图片

之后再点击 【Edit Configuration】:

① 选中 Enable EnvFile

② 添加刚才添加的那个 .env 文件,最后点击 apply

IDEA中使用.env文件配置信息_第2张图片

2.2 使用 

因为我们这里以一个SpringBoot搭建的 Web 应用为例,将应用参数设置为可配置的。

首先创建一个配置类:

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "pan") // 自定义前缀“pan”
public class AppProperties {

    @Getter
    @Setter
    private Ali ali = new Ali();

    @Getter
    @Setter
    public static class Ali {
        private String apiKey;    // 定义两个key
        private String apiSecret;
    }
}

在 application.yml 文件中用 ${变量名} 的方式,读取在.env文件中设置的两个参数,其中“pan”为我自定义的前缀:

pan:
  ali:
    api-key: ${ALIBABA_CLOUD_ACCESS_KEY_ID}
    api-secret: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET}

创建一个单元测试,看看是否能读取成功:

@SpringBootTest
public class MyTest {
    @Autowired
    AppProperties appProperties;
    @Test
    public void test() {
        System.out.println("ALIBABA_CLOUD_ACCESS_KEY_ID = " + appProperties.getAli().getApiKey());
        System.out.println("ALIBABA_CLOUD_ACCESS_KEY_SECRET = " + appProperties.getAli().getApiSecret());
    }
}

是可以的嗷~

IDEA中使用.env文件配置信息_第3张图片 

你可能感兴趣的:(intellij-idea,java,ide)