博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
崛起于Springboot2.X之配置文件详解(10)
阅读量:7232 次
发布时间:2019-06-29

本文共 1661 字,大约阅读时间需要 5 分钟。

  hot3.png

序言:针对公司开发配置文件的一些基础常识

1、核心配置文件

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

    1.1 application.properties风格

server.port=8080

    1.2 application.yml 风格

server:   port: 8080

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

    1.3 @Value取值

列入:

mujiutian.haha=566

b8701b87f076fdb75b0f3a4334a168a31c5.jpg

java类取值为:

@Value("${mujiutian.haha}")private String aa;

这样就可以获取到配置文件中的值。

但是如果你输入的是中文的话,会出现乱码,所以在配置文件中添加配置:

spring.http.encoding.charset=utf-8spring.http.encoding.enabled=truespring.http.encoding.force=true

同时,在IDEA中的setting的文件编码也需要一致,不然不会正常显示中文,有的默认是GBK

5119d3ff524a793a09abdf91ceed3ff04b2.jpg

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

    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中获取:

@Controllerpublic 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,当我们想切换那个配置文件的时候,我们可以根据这个就可以了。

转载于:https://my.oschina.net/mdxlcj/blog/1852861

你可能感兴趣的文章
win7方面API學習
查看>>
mongodb 安装
查看>>
BATJ等公司必问的8道Java经典面试题,你都会了吗?
查看>>
开学季学生宿舍竟然限电,学校管理因噎废食?
查看>>
奇点汽车回应欠薪3月传闻:多轮融资顺利 不存在资金问题
查看>>
孕妇高速上产女 交警医生合力架起生命绿色通道
查看>>
西藏尼阿底遗址项目获“2018年中国考古新发现”入围奖
查看>>
火箭队再遭伤病打击 曝中锋卡佩拉至少缺阵1月
查看>>
和妈妈在一起,就是团圆
查看>>
程序员面试,写个javascript物理引擎,张口要月薪20K!面试官真给了!
查看>>
UAS-点评侧用户行为检索系统
查看>>
Shapeless 入门指南(二):自然数类型 Nat
查看>>
[问题回顾]JTalk Online:面试官教你快速成为 leader 最欣赏的技术人
查看>>
深度有趣 | 05 自编码器图像去噪
查看>>
自制简单的range(Vue)
查看>>
强化学习的基本概念与代码实现
查看>>
最好用的货币:货币发展史和BCH
查看>>
Google 跨平台方案 Flutter 从入门到实战
查看>>
PHP版本兼容之openssl调用参数
查看>>
翻译连载 | 附录 A:Transducing(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
查看>>