SpringBoot读取配置文件信息

application.properties配置文件的读取

Environment方式读取

框架中有一个org.springframework.core.env.Environment类,可以读取application.properties中配置的值。

用法如下,我们可以看到直接将Environment注入进来,然后就可以使用getProperty方法来获取配置的值了,
参数是配置的名称。


@RestController
public class ConfigController {

@Autowired
private Environment environment;

/**
* 通过配置的key获取value<br>
* {key:.+}是为了解决通过url参数访问的时候小数点丢失的问题
* @param key
* @return
*/
@RequestMapping("/config/{key:.+}")
Object getConfig(@PathVariable String key){
return environment.getProperty(key);
}
}

我们获取下之前配置的tomcat端口,http://localhost:8090/config/server.port可以看到输出的结果正是你配置的值。

@Value注解方式读取

@RestController
public class ConfigController {
  
    @Value("${server.port}")
    private String serverPort;

    @RequestMapping("/config/serverPort")
    Object serverPort(){
        return serverPort;
    }
}

 

@ConfigurationProperties(prefix="")

@ConfigurationProperties 加在类上或方法上,可以和@PropertySource组合使用

加在方法上:

@Bean("primaryDataSource")
@Primary
@ConfigurationProperties("primary.datasource")
public DataSource buildPrimaryDataSource() {
return DataSourceBuilder.create().build();
}
@ConfigurationProperties会根据配置文件的信息调用返回对象的set方法

加在类上:

@Component
@ConfigurationProperties("sharding.datasource")
public class DataSourceConfig {
private String url;

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}
}
@ConfigurationProperties会根据配置文件的信息调用声明对象的set方法

自定义配置文件的读取方式

 

posted @ 2019-10-18 19:46  javaeelwh  阅读(331)  评论(0编辑  收藏  举报