我想根据配置文件application.properties
将我的WebConfig bean配置为具有不同的CORS来源。
由于某种原因,application-local.properties
中的值未注入我的WebConfig bean的字段中。
当我在这里使用@Value
时,它会起作用(请查看工作示例的最后标题)
@SpringBootApplication
@EnableEurekaClient
@ComponentScan("com.company.coma")
public class EventWebApplication {
public static void main(String[] args) {
SpringApplication.run(EventWebApplication.class, args);
}
}
@Configuration
@ConfigurationProperties("coma.cors")
public class WebConfig extends WebMvcConfigurerAdapter {
private String origin;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping(Resources.Services.APIs.Event.GET_STATUS + "/**")
.allowedOrigins(origin);
}
}
coma.cors.origin=http://localhost:8080
使用-Dspring.profiles.active=local
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Value("${coma.cors.origin}") // this works
private String origin;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping(Resources.Services.APIs.Event.GET_STATUS + "/**")
.allowedOrigins(origin);
}
}