类加载器ClassLoader
- 引导类加载器,JVM自带的类加载器,负责Java平台核心库,装载核心类库该加载器无法直接获取
- 扩展类加载器:负责
jre/lib/ext
目录下的jar
包中类的加载 - 系统类加载器:负责
java-classpath
或java.class.path
所指的目录下的类、自定义类的加载,最常用的类加载器
public class ReflectionTest3 {
@Test
public void test(){
ClassLoader classLoader = ReflectionTest2.class.getClassLoader();
System.out.println(classLoader);
ClassLoader classLoader1 = classLoader.getParent();
System.out.println(classLoader1);
ClassLoader classLoader2 = classLoader1.getParent();
System.out.println(classLoader2);
ClassLoader classLoader3 = String.class.getClassLoader();
System.out.println(classLoader3);
}
}
使用ClassLoader加载配置文件
public class ReflectionTest4 {
@Test
public void test()throws Exception{
Properties properties = new Properties();
ClassLoader classLoader = ReflectionTest4.class.getClassLoader();
InputStream rs = classLoader.getResourceAsStream("jdbc.properties");
properties.load(rs);
String name = properties.getProperty("name");
String password = properties.getProperty("password");
System.out.println(name+"---->"+password);
}
}