JDBC properties.load(JDBCUtil.class.getClassLoader().getResourseAsStream("jdbc-config.properties"));

**

JDBC properties.load(JDBCUtil.class.getClassLoader().getResourseAsStream(“jdbc-config.properties”));语句详解


在JDBC流程中,我们通常需要加载配置文件中的内容,本章将就加载语句进行简单解析,如有偏颇敬请指教。
Properties p = new Properties();
p.load(
  JDBCUtil.class
    .getClassLoader()
      .getResourseAsStream(
        “jdbc-config.properties”));

方法的介绍:

在这里插入图片描述

1.p.load()
– 这个方法是Properties类中的一个方法,它有两种重载形式:load(Reader reader);和load(InputStream in); 这两种形式分别要求传入的参数是Reader字符输入流和InputStream字节输入流,方法的主要作用就是加载配置文件中的键值对,而被加载的配置文件就是参数位置上的输入流对象所对应的文件。
因此我们知道,这个load()方法中要求我们传进去一个输入流。

2. JDBCUtil.class
– 这一步主要是通过反射获得JDBCUtil这个类的类对象

3. .getClassLoader()
– 这个方法的作用是获得JDBCUtil这个类的类加载器。我们知道,每个类都有自己的类加载器。
web项目运行的时候,IDEA编译器会将.class字节码文件和.properties/.xml等配置文件一起加载到WEB-INF/classes文件夹中。而类加载器就会到这个classes文件夹中去获取资源。因此获取了当前类的类加载器就使得我们不必写配置文件的绝对路径了。

4. .getResouresAsStream()
– 这个方法就是类加载器调用的获取资源的方法,并把资源以InputStrream流的形式返回。
获取的是什么资源呢,就是我们所指定的"jdbc-config.properties"配置文件。

扩展

这个语句是读取配置文件最常用的写法,这种写法不受类加载路径的限制,有其灵活性所在。
但为便于理解,p.load() 这个方法的参数也可以以其他形式传入,比如直接创建输入流 new FileInputStream(new File("绝对路径"));等形式也是可以的。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值