springboot框架也被我认为一个工具,它的主要核心文件为application.properties,又能够命名为application.yml亦或者application.yaml,全部的与springboot集成框架等的配置属性均可以在它里面配置。mysql
server.port=8080
server: port: 8080
注意冒号后面加空格,在填写具体之redis
列入:spring
mujiutian.haha=566
java类取值为:sql
@Value("${mujiutian.haha}") private String aa;
这样就能够获取到配置文件中的值。数据库
可是若是你输入的是中文的话,会出现乱码,因此在配置文件中添加配置:springboot
spring.http.encoding.charset=utf-8 spring.http.encoding.enabled=true spring.http.encoding.force=true
同时,在IDEA中的setting的文件编码也须要一致,否则不会正常显示中文,有的默认是GBKapp
这样获取配置文件中即使是中文的值也会正常显示框架
这个注解也可以取配置文件中的注解,不过通常主要用于一个配置类中,将配置文件的那些属性集中到一个具体java类,而后赞成组成一个实体类对他封装,通常用于mysql,redis等配置文件中工具
配置文件:
mujiutian.haha=爱你
具体类:
@Component @ConfigurationProperties(prefix = "mujiutian") public class TestConfig { private String haha; public String getHaha() { return haha; } public void setHaha(String haha) { this.haha = haha; } }
最后在controller中获取:
@Controller public class Test1Controller { @Autowired TestConfig testConfig; @RequestMapping(value = "/test") public @ResponseBody String test1(){ return testConfig.getHaha(); } }
也可以取出相同的值。两种注解用于不一样的场景。
通常咱们本身开发使用的数据库与产品上线使用的数据库是不同的,之前的ssm框架咱们是在xml中注释这个xml文件,而后打开线上的库,而如今springboot不一样了,改变不是那么的大,咱们分别建立多余的两个配置文件,名字不一样,application-dev.properties和application-pro.properties这两个配置文件咱们配置一样的属性,好比一个是server.port=8080,而另外一个是server.port=8098,咱们正常开发使用8080端口,线上环境切换到8098的端口,而后在主配置文件application.properties中配置为:
spring.profiles.active=dev
后面的dev 就是咱们本身多添加文件的application-{name}.properties,当咱们想切换那个配置文件的时候,咱们能够根据这个就能够了。