Springboot读取配置文件

曾经终败给现在 2022-05-25 09:28 362阅读 0赞

转载自:https://blog.csdn.net/freyaalisa/article/details/78837184

与SpringMVC 读取不一样

一、springboot配置文件

  1. 核心配置文件和自定义配置文件。核心配置文件是指在resources根目录下的`application.properties``application.yml`配置文 件。为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义

信息,这里在resources/config目录下创建配置文件config.properties

二、核心配置文件的两种读取方法

核心配置文件内容:

  1. server: port: 8081
  2. context-path: /boot
  3. service: name: freya

(1)@Value(“${键名}“)

  1. RestController public class HelloController {
  2. @Value("${service.name}")
  3. private String name; @RequestMapping(value = "/hello")
  4. public String hello() {
  5. return "hello spring boot! " + name;
  6. }
  7. }

(2)使用Environment,env.getProperty(“键名”)

  1. @RestController
  2. public class HelloController {
  3. @Autowired
  4. private Environment env;
  5. @RequestMapping(value = "/hello")
  6. public String hello() {
  7. return "hello spring boot! " + env.getProperty("service.name");
  8. }
  9. }

三、自定义配置文件的读取方法

  1. 自定义的config.properties的内容如下:
  2. project.version=1.0-SNAPSHOT
  3. project.name=boot
  4. 创建实体类MyConfig
  5. 注意:springboot1.5版本以下@ConfigurationProperties有两个属性locations(指定配置文件的所在位置),
  6. prefix(指定配置文件中键名称的前缀)。但是1.5版本及以上的版本取消了locations属性,为了指定配置文件的
  7. 位置,使用@PropertySource(value = "自定义配置文件路径")指定文件所在位置。
  8. @Component
  9. @ConfigurationProperties(prefix = "project")
  10. @PropertySource(value = "classpath:config/config.properties")
  11. public class MyConfig {
  12. private String version;
  13. private String name;
  14. public String getVersion() {
  15. return version;
  16. }
  17. public void setVersion(String version) {
  18. this.version = version;
  19. }
  20. public String getName() {
  21. return name;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. }
  27. @RestController
  28. public class HelloController {
  29. @Autowired
  30. private MyConfig myConfig;
  31. @RequestMapping(value = "/hello")
  32. public String hello() {
  33. return "hello spring boot! " myConfig.getVersion() + " " + myConfig.getName() ;
  34. }
  35. }

新建的自定义的config文件,放置的路径为

发表评论

表情:
评论列表 (有 0 条评论,362人围观)

还没有评论,来说两句吧...

相关阅读