崛起于Springboot2.X + 配置文件详解(10)

《SpringBoot2.X心法总纲》java

一、核心配置文件

springboot框架也被我认为一个工具,它的主要核心文件为application.properties,又能够命名为application.yml亦或者application.yaml,全部的与springboot集成框架等的配置属性均可以在它里面配置。mysql

    1.1 application.properties风格

server.port=8080

    1.2 application.yml 风格

server:
   port: 8080

注意冒号后面加空格,在填写具体之redis

    1.3 @Value取值

列入: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

这样获取配置文件中即使是中文的值也会正常显示框架

    1.4 @ConfigurationProperties 取值

这个注解也可以取配置文件中的注解,不过通常主要用于一个配置类中,将配置文件的那些属性集中到一个具体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();
    }
}

也可以取出相同的值。两种注解用于不一样的场景。

    1.5 多配置文件切换

 通常咱们本身开发使用的数据库与产品上线使用的数据库是不同的,之前的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,当咱们想切换那个配置文件的时候,咱们能够根据这个就能够了。

相关文章
相关标签/搜索