我正在使用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()
}
我做错了什么?