# 5.3.2 激活 profile 文件

设置特定 profile 属性没有什么意思，除非这些 profile 处于活动状态。但是要如何激活一个 profile 文件呢？让一个 profile 文件处于激活状态需要做的只是将 spring.profiles.active 属性的值指定为需要激活的 profile 的名称。例如，可以像下面这样设置 application.yml 中的这个属性：

```yaml
spring:
  profiles:
    active:
    - prod
```

但是这可能是设定一个活动 profile 最糟糕的方式了。如果在 application.yml 中设置了激活的 profile，然后那个 profile 文件就变成了默认 profile 文件，那么就没有达到生产环境特定属性与开发环境特定属性分离的目的。相反，我推荐使用环境变量设置激活的 profile。在生产环境，像下面这样设置 SPRING\_PROFILES\_ACTIVE：

```bash
% export SPRING_PROFILES_ACTIVE=prod
```

这样设置完成后，部署于那台机器的任何应用程序将会使用 prod profile，同时相应的配置属性将优先于默认配置文件中的属性。

如果使用可执行的 JAR 文件来运行应用程序，你可能也可以通过命令行设置激活的 profile 文件，如下所示：

```bash
% java -jar taco-cloud.jar --spring.profiles.active=prod
```

请注意 spring.profiles.active 属性名包含的是复数单词 profiles。这意味着可以指定多个活动 profiles 文件。通常，这是一个逗号分隔的列表，当它设置一个环境变量：

```bash
% export SPRING_PROFILES_ACTIVE=prod,audit,ha
```

但是在 YAML 中，需要像下面这样指定它：

```yaml
spring:
  profiles:
    active:
    - prod
    - audit
    - ha
```

同样值得注意的是，如果将 Spring 应用程序部署到 Cloud Foundry 中，一个名为 cloud 的配置文件会自动激活。如果 Cloud Foundry 是生产环境，那么需要确保在 cloud profile 文件中指定了特定于生产环境的属性。

事实证明，配置文件只对在 Spring 应用程序中有条件地设置配置属性有用。让我们看看如何声明特定活动 profile 文件的 bean。
