SpringBoot默认的配置文件时application.properties文件。
读取配置文件的两种方式:
1、通过Environment
2、使用注解@Value
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(MySpringBootApplication.class, args);
String username = context.getEnvironment().getProperty("spring.datasource.username");
System.out.println("username --->" + username);
}
}
@Component
public class MyConfig {
@Value("spring.datasource.username")
private String username;
@Autowired
private Environment env;
public void show(){
System.out.println("username:" + env.getProperty("spring.datasource.username"));
}
}
自定义的properties配置文件
注入配置文件中的集合
ZookeeperConfig.java
@Component
@ConfigurationProperties(prefix="zookeeper")
public class ZookeeperConfig {
private List<String> connections = new ArrayList<String>();
public List<String> getConnections() {
return connections;
}
public void setConnections(List<String> connections) {
this.connections = connections;
}
@Override
public String toString() {
return "ZookeeperConfig [connections=" + connections + "]";
}
}
application.properties
zookeeper.connections[0]=zookeeper-11:2181
zookeeper.connections[1]=zookeeper-12:2181
zookeeper.connections[2]=zookeeper-13:2181
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(MySpringBootApplication.class, args);
ZookeeperConfig zookeeperConfig = context.getBean(ZookeeperConfig.class);
System.out.println("zookeeperConfig --->" + zookeeperConfig.toString());
}
}