我希望能够application.properties
在类路径之外放置一个(例如 on d:/
),并在那里定义spring.profile.active=production
.
如果这被激活,spring 应该另外从类路径加载一个名为my-production.properties
.
我尝试了以下方法,但没有奏效。我可能忘记了什么?
@Component
@PropertySources({
@PropertySource("classpath:my-default.properties"),
@PropertySource(value = "file:D:/my.properties"),
@PropertySource(value = "classpath:my-${spring.profiles.active}.properties", ignoreResourceNotFound = true)
})
d:\my.properties:
spring.profiles.active=production
我的默认属性:
testkey=default
我的生产属性:
testkey=production
应用程序:
@Configuration
@EnableAutoConfiguration
public class AppCfg {
@Value("${testkey}")
private String testkey;
@PostConstruct
public void init() {
Sysout(testkey); //prints: "default" instead of "production"
}
}