scala的maven项目读取配置文件

scala的maven项目读取src/main/resources目录下的资源文件该如何读取呢?

下面提供一种默认的和一种自定义的:

对于application.conf配置文件,是默认的配置文件:

application.conf内容如下:

mysql {  url : "jdbc:mysql://192.168.76.14:3306/ibigdata?useUnicode=true&characterEncoding=UTF-8",  dbtable: "record_test",  user: "root",  password:"root" }

SparkConfig.scala的读取配置文件内容的代码如下:

package com.iflytek.rwresourcefile

import com.typesafe.config.Config import com.typesafe.config.ConfigFactory

object SparkConfig extends java.io.Serializable{   val config:Config=ConfigFactory.load()   def getString(path:String):String={     return config.getString(path)   }   def getInteger(path:String):Integer={     return config.getString(path).toInt   }   def getDouble(path:String):Double={     return config.getString(path).toDouble   } }

Test.scala的测试代码如下:

package com.iflytek.rwresourcefile

import org.apache.spark.SparkConf

object Test {   def main(args: Array[String]): Unit = {     val url=SparkConfig.getString("mysql.url")     val dbtable=SparkConfig.getString("mysql.dbtable")     val user=SparkConfig.getString("mysql.user")     val password=SparkConfig.getString("mysql.password")     println("url="+url)     println("dbtable="+dbtable)     println("user="+user)     println("password="+password)   } }

截图:

对于mysql.conf这种自定义的配置文件的读取方式如下:

url=jdbc:mysql://192.168.76.14:3306/ibigdata?useUnicode=true&characterEncoding=UTF-8 dbtable=record_test user=root password=root

PropertieUtil.scala的读取自定义配置文件的代码如下:

package com.iflytek.rwresourcefile

import java.util.Properties import java.io.InputStreamReader

object PropertieUtil extends java.io.Serializable{   def getpropertie(path:String):Properties={     val properties:Properties=new Properties     val in:InputStreamReader=new InputStreamReader(PropertieUtil.getClass.getClassLoader.getResourceAsStream(path),"utf-8")     properties.load(in)     return properties   }   val propertie=getpropertie("mysql.conf")   def getStrign(path:String):String={     return propertie.getProperty(path)   } }

test111.scala的测试代码如下:

package com.iflytek.rwresourcefile

object test111 {   def main(args: Array[String]): Unit = {     val url=PropertieUtil.getStrign("url")     val dbtable=PropertieUtil.getStrign("dbtable")     val user=PropertieUtil.getStrign("user")     val password=PropertieUtil.getStrign("password")     println("url="+url)     println("dbtable="+dbtable)     println("user="+user)     println("password"+password)   } }

结果截图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊reactive streams的schedulers

默认情况下Mono以及Flux都在主线程上运行,有时候可能会阻塞主线程,可以通过设定schedulers让其在其他线程运行。

451
来自专栏向治洪

仿qq聊天及定位等

聊天其实就是要实现消息推送,而推送消息就需要保持连接(长连接)。在之前项目里虽然实现了即时聊天,但是一种很本的方法。 去掉了其中的网络访问。地图试用的百度AP...

1726
来自专栏Java帮帮-微信公众号-技术文章全总结

JDBC基础入门(1)

JDBC(Java Database Connectivity)代表Java编程语言与数据库连接的标准API,然而JDBC只是接口,JDBC驱动才是真正的接口实...

3487
来自专栏后端沉思录

SPI概念及使用方法

SPI全称Service Provider Interfaces,用于发现接口的实现。在jdbc、日志、dubbo的设计中都使用SPI用于服务的发现。简单的以j...

772
来自专栏后端之路

Dubbo优雅服务降级之mock

Dubbo优雅服务降级之Stub dubbo作为国内互联网最常用的Java开源服务治理框架,在提供了远程调用的同时也提供了服务降级功能。 首先可以考虑一下服务降...

1.3K5
来自专栏闻道于事

Spring Boot入门

Spring Boot入门: 使用IDEA创建Spring Boot 项目: 选择 ? 勾选Web ? 生成项目结构: ? 例子: package com.ex...

2824
来自专栏wannshan(javaer,RPC)

dubbo监控机制之监控中心实现分析

这里的监控中心以dubbo-ops\dubbo-monitor-simple项目说 总的来说是监控中心启动一个sevlet容器,通过web页面向用户多维度的展...

6016
来自专栏企鹅号快讯

ajax跨域请求

ajax跨域请求: 服务端 @RequestMapping("/baseList") public void baseList(String siteid, S...

1937
来自专栏扎心了老铁

使用hive客户端java api读写hive集群上的信息

上文介绍了hdfs集群信息的读取方式,本文说hive 1、先解决依赖 <properties> <hive.version>1.2.1</hiv...

4264
来自专栏码匠的流水账

聊聊JvmGcMetrics的managementExtensionsPresent

本文主要研究下JvmGcMetrics的managementExtensionsPresent

681

扫码关注云+社区