spring cloud读取配置文件
-
spring boot支持多种外部配置
- 命令行
- JNDI属性
- java系统属性,System.getProperties()
- 环境变量
- jar包内部和外部的application-{profile}.yml或properties
- jar包内部和外部的application.yml或properties
- @Configuration注解类上的@PropertySource
- SpringApplication.setDefaultProperties指定的默认参数
-
命令行参数
通过java -jar app.jar –name=”spring” - -server.port=9000 方式传递参数
参数使用 - -xx = xx
可以通过SpringApplication.setAddCommandLineProperties(false)进行禁用
-
SpringApplication.setDefaultProperties
SpringApplication application = new SpringApplication(Application.class); Map<String, Object> defaultMap = new HashMap<String, Object>(); defaultMap.put("name", "Isea-Blog"); //还可以是Properties对象 application.setDefaultProperties(defaultMap); application.run(args);
-
使用属性
-
@Value(“${xxx}”)
-
@ConfigurationProperties
@Component @ConfigurationProperties(prefix="myredis") //application.yml中的myredis下的属性 public class YmlConfig { String host; String port; Map<String,String> poolConfig = new HashMap<>(); }
-
refer to http://blog.csdn.net/isea533/article/details/50281151