微服务之springboot 自定义配置Application.properties文件

怀抱观古今,寝食展戏谑。这篇文章主要讲述微服务之springboot 自定义配置Application.properties文件相关的知识,希望能为你提供帮助。
配置的文件的格式
springboot可以识别两种格式的配置文件,分别是yml和properties 文件。我们可以将application.properties文件换成application.yml,这两个文件都可以被SpringBoot自动识别并加载,但是如果是自定义的配置文件,就最好还是使用properties格式的文件,因为SpringBoot中暂时还并未提供手动加载yml格式文件的功能(这里指注解方式)。
yml 配置文件 属性格式:配置的属性和属性值要有空格隔开。没有空格报:java.lang.IllegalArgumentException: Could not resolve placeholder \'my.name\' in value "${my.name}"

server : port : 8888 my : name : forezp age : 12

propreties文件  格式要求:
 
server.port=8888 my.name=forezp my.age=12

 
application.properties配置文件欲被SpringBoot自动加载,需要放置到指定的位置:src/main/resource目录下,一般自定义的配置文件也位于此目录之下。
application.properties配置文件是在SpringBoot项目启动的时候被自动加载的,其内部的相关设置会自动覆盖SpringBoot默认的对应设置项,所以的配置项均会保存到Spring容器之中。
公共配置文件自定义属性
1 server.port=8888 2 my.name= forezp 3 my.age=12

@RestController 访问属性类
package com.forezp.appConfig; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MiyaController { @Value("${my.name}") private String name; @Value("${my.age}") private int age; @RequestMapping("/hah") public String hah(){ return name+" :"+age; } }

运行springboot项目 ,运行成功 浏览器输入网址:http://localhost:8888/hah
  springboot 启动类设置扫描包文件这里只是提下
  浏览器访问网址报404错误,如下:
微服务之springboot 自定义配置Application.properties文件

文章图片

 
  直接报404错误,最后检查了springboot 启动类
package com.forezp.helloworld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestControllerpublic class HelloWorldApplication {public static void main(String[] args) { SpringApplication.run(HelloWorldApplication.class, args); } @GetMapping("/hi") public Stringhi (){ return "hiI\'am forezp"; } }

最后才弄清楚:启动类和对应的RestController类不在同一包下  。需要在启动类上方添加@ComponentScan注解扫描com.forezp.appConfig 包下的文件
Spring Boot只会扫描启动类当前包和以下的包 ,就是说现在我启动类的包是在com.forezp.helloworld下面,然后他就只会扫描com.forezp.helloworld或者com.forezp.helloworld.*下面所以的包,所以我的Controller在com.forezp.appConfig包下面Spring Boot就没有扫描到。
把controller类放到com.forezp.helloworld下面就好了

微服务之springboot 自定义配置Application.properties文件

文章图片

【微服务之springboot 自定义配置Application.properties文件】 

    推荐阅读