开发者学堂课程【2020版大数据实战项目之DMP广告系统(第四阶段):框架搭建_配置文件加载】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/679/detail/11799
框架搭建_配置文件加载
内容介绍:
一、了解配置文件
二、读取框架
一、了解配置文件
编写第一个工具,通过这个视频了解新的配置文件格式,以及如何操作配置文件。步骤比较简单。
首先第一步,进行简单的说明写代码。对整个配置文件进行编写,读取,了解配置文件如何使用。了解新的配置文件之前,先介绍现阶段都有什么样的配置文件可供选择。首先,比较易于读取的格式才适合作为配置文件,不能因为写配置文件,把自己累死,读取必须得在这个程序里有的工具能读,并且这个工具不能不满足这两个条件,擅自把某一个东西当成配置文件可能是灾难性的后果。一般情况下可以使用 XML 作为配置文件,包括前面大家在学习 spring 的时候,在学习 Java web 的时候,也经常使用 XML 进行配置文件的编写,其次还可以使用 json 也是比较好的文件格式,文件格式做配置文件也是绰绰有余的,比较容易编写,并且所有的系统几乎都支持 json 的读取。还有一个格式叫做 yellow ,虽然经常会编写一些 place 文件,但是都能读取,也是扩展性比较好的文件格式,现在用的比较多。
还有一些格式,比如说 ini ,Ini 在 Windows 里比较多见,这种格式在Java 里不是特别常用。还有一些其他的格式,比如说 practice , properties 文件格式是 Java 默认的, Java 自带了 properties 文件的读取方式,比较好用,也比较适合 Java 。Spring boot 也默认选择 practice 来进行配置文件。但是今天选用一个新的格式。这种格式不同于刚才我说的格式,但是这种格式是有比较好的兼容性, Demo 本身的语法就借鉴了一些 Json 的语法,然后 hocon 跟Json,是可以相互调用的, hocon 可以直接编写 Json 的语法。
二、读取框架
它是一个兼容性比较好的配置文件格式,还比较好写,读取有现成的工具可以读,比较好用。在这种格式里面,可以包含一些语法。 hocon 文件格式全称叫做 human-optimized config object notation 翻译过来为人类优化的配置文件对象表示法,比较重要的一个单词就是 human 。Human optimist,也就是说这种配置文件是比较适合正常人类进行编写,也比较容易看懂,类似于 promise ,并且包含 json 的语法考试,还是比较强大的。
foo:{
Bar:10,
Baz:12
}
Foo {
Bar =10,
Baz=12
}
Foo.bar=10
Foo.baz=10
第一部分了解配置文件,以及它读取的框架。第一个步骤,看一看配置文件大致长什么样子。第二个步骤,看一看配置文件该怎么操作。第三个步骤,进入到代码当中来编写代码。我们先看第一步,它的格式大概应该是怎么样的?第一种写法完全和 Json 一模一样, foo 对象下有一个 bar 属性,有一个 baz 属性,可以使用冒号,作为属性名和属性值之间的分隔。也可以使用等号作为分隔,还可以再写成简写的形式,这个时候大家能发现这三种写法是完全等价,一模一样,同样的方式去读。
Val config: Config = configfactory.load()
Val bar = config.getint(“foo.bar”)
Val baz = config.getint(“foo.baz”).
hocon 有一个现成的框架读取,叫做 lightbend config 这个框架,可以直接读取 hocon 的配置文件,读取的方式也比较简单,直接使用 config factory load ,加载一个配置文件,以直接使用 config 这样的对象, get int, get bubble 等等的方法来去传入 Key ,获取相应的 value ,这个方式还是比较简单的。
Package cn.itcast.test
Import com,tyoesafe.config.configfactory
Object configtest {
Def main(args: array[string]):unit={
//1.创建工具类
Val config =configfactory. Load(resourcebasename=”test.conf”)
//2.读取
Val bar=config.getint(“foo.bar”)
Val baz=config.getint(“foo.baz“)
//3.打印
Println(bar,baz)
}
}
第一步导入 maven ,叫做 compact safe , Artifact ID 叫做config ,前面 practice 部分有定义。接下来加载一个新的配置文件,一个新的 file 叫 test.conf ,配置文件当中编写一些内容,首先编写一个叫 foo.bar=10 ,然后再编写 foo.baz=20 接下来我希望大家能把它读出来。 idea 也为 hocon 提供了一个插件,点击 enable hocon plugin ,就可以下载对应的 plugin ,使用对应的 plugin ,但是意义不是特别大。就不再去使用这个插件,配置文件不会特别深入的编写它,会使用基础的一些语法。接下来,找到类,然后创建一个新的包,叫做 test 。写测试性的代码,放在 test 的包下。创建一个新的 scala class ,叫做 config test ,改为 object ,提供 main 方法。加载配置文件读取的工具类,加载创建工具类。
第二步,进行读取,第三步打印。这就是整体上的步骤。创建工具类,非常简单,首先 val ,命名为叫做 config ,接下来选一个类叫做 config factory 。找到 typesafe下的 config ,加载出来 config factory 以后,其中有一个静态方法,直接选 load ,这个方法是有重载的,如果不传任何参数,它默认加载的是 application.conf 的配置文件,放在 resources 目录下,但是配置文件叫 test.conf 把这个名字揣进来,命名为 test.conf 。 Config 这个类加载出来就进行读取。使用 config.GET in 进行加载, val 叫做 conflict.get int ,可以直接 foo.baz ,此时两个全部读取出来了, print bar.baz 类就写完了,这种代码比较简单,就不再过多的重复。直接运行一下,大家发现 bar 是10, baz 是20,整个内容读取出来了,没有任何问题。办法比较简单。接下来进行总结,进入刚才编写的配置文件当中,大家注意到 Key , value 是有类型的,如果写上双引号再写10,就是 string ,应该通过 get string 进行读取。