在学习Mysql数据库时,jdbc封装工具类JdbcUtils中存在以下代码,去加载"*.properties"配置文件。
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
Properties properties = new Properties();
properties.load(in);//到目前为止,db.properties文件中的内容就被读出到properties对象中了
其中,用getClassLoader()方法,获得类加载器去加载"*.properties"配置文件。
类加载器基本概念:
类加载器(class loader)用来加载java类到java虚拟机。一般来说,java虚拟机使用java类的方式如下:java源程序(.java文件)在经过java编译器之后就被转换为java字节代码(.class 文件)。类加载器负责读取java字节代码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个java类。通过这个实例的newInstace()方法可以创建这个类的对象。基本上所有的类加载器都是 java.lang.ClassLoader
类的一个实例。
InputStream in = 类名.getClass().getClassLoader().getResourceAsStream("*.properties");
类名.Class:是获取这个类的Class对象。
getClassLoader():获取该Class对象的类加载器。
最后,类加载器的getResourceAsStream()方法来加载资源。