Spring激活的配置文件被忽略-没有Spring Boot

时间:2018-08-05 18:23:56

标签: java spring yaml

我正在使用spring来运行我的应用程序。这是我的configuration.yaml

spring:
  profiles:
    default: default
db:
  host: mysql:3306
  schema: my_db
  user: user
  password: pass

---

spring:
  profiles: dev
db:
  host: localhost:3306

---

spring:
  profiles: prod
db:
  host: mysql:3306

通过intellij运行服务时,我都试图将VM选项(-Dspring.profiles.active=dev)和环境变量设置为SPRING_PROFILES_ACTIVE=dev
两者都不起作用。似乎它采用了最后一个配置文件,在我的示例中,它采用了prod配置文件。

通过xml加载配置:

  <bean id="yamlProperties" class="org.springframework.beans.factory.config.YamlPropertiesFactoryBean">
    <property name="resources" value="classpath:config.yaml"/>
  </bean>

  <context:property-placeholder properties-ref="yamlProperties"/>

这是我启动应用程序的方式:

fun main(args: Array<String>) {
  val context = ClassPathXmlApplicationContext("/api-applicationContext-all.xml")
  val router = context.getBean("router") as Router
  router.start()
}

我做错了什么?

0 个答案:

没有答案