了解ClassLoader:

    /*
* 了解类的加载器:ClassLoader
*
*/
@Test
public void testClassLoader() {
// 获取到系统类加载器,加载用户自己创建类
ClassLoader loader = ClassLoader.getSystemClassLoader();
System.out.println(loader); // 获取到扩展类加载器,加载D:\jdk1.6.0_45\jre\lib\ext目录下的jar包
ClassLoader loader2 = loader.getParent();
System.out.println(loader2); // 引导类加载器,获取不到
ClassLoader loader3 = loader2.getParent();
System.out.println(loader3); } // 举例:对于自定义类,是使用系统类加载器加载
String className = "com.atguigu.java.Person";
ClassLoader classLoader = Class.forName(className).getClassLoader();
System.out.println(classLoader); className = "java.lang.String";
classLoader = Class.forName(className).getClassLoader();
System.out.println(classLoader);

关于ClassLoader加载器的一个使用,需要掌握

包结构:

================================

jdbc.properties:

jdbc.user=root
jdbc.password=root
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/jdbc1 #jdbc.user=scott
#jdbc.password=tiger
#jdbc.driverClass=oracle.jdbc.driver.OracleDriver
#jdbc.jdbcUrl=jdbc:oracle:thin:@127.0.0.1:1521:ORCL001
    /*
* 关于ClassLoader加载器的一个使用,需要掌握
*/
@Test
public void testClassLoader1() throws IOException { // 方式一:读取当前工程下的配置文件jdbc.properties
Properties properties = new Properties();
FileInputStream inStream = new FileInputStream(new File(
"jdbc.properties"));
properties.load(inStream); String user = properties.getProperty("jdbc.user");
String password = properties.getProperty("jdbc.password");
String driverClass = properties.getProperty("jdbc.driverClass");
String url = properties.getProperty("jdbc.jdbcUrl");
System.out.println("user=" + user + "\npassword=" + password
+ "\ndriverClass=" + driverClass + "\nurl" + url);
System.out.println("============================");
=====================================================
// 方式二:读取src目录下的配置文件
Properties properties2 = new Properties();
// InputStream inputStream =
// ReflectTest.class.getClassLoader().getResourceAsStream("jdbc1.properties");
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("jdbc1.properties");
properties2.load(inputStream); String user2 = properties2.getProperty("jdbc.user");
String password2 = properties2.getProperty("jdbc.password");
String driverClass2 = properties2.getProperty("jdbc.driverClass");
String url2 = properties2.getProperty("jdbc.jdbcUrl");
System.out.println("user=" + user2 + "\npassword=" + password2
+ "\ndriverClass=" + driverClass2 + "\nurl" + url2);
System.out.println("============================");
===============================================
// 方式三:读包目录下的配置文件
Properties properties3 = new Properties();
// InputStream inputStream2 = this.getClass().getClassLoader()
// .getResourceAsStream("com/atguigu/java/jdbc2.properties");
InputStream inputStream2 = this.getClass().getClassLoader()
.getResourceAsStream("com\\atguigu\\java\\jdbc2.properties");
properties3.load(inputStream2); String user3 = properties3.getProperty("jdbc.user");
String password3 = properties3.getProperty("jdbc.password");
String driverClass3 = properties3.getProperty("jdbc.driverClass");
String url3 = properties3.getProperty("jdbc.jdbcUrl");
System.out.println("user=" + user3 + "\npassword=" + password3
+ "\ndriverClass=" + driverClass3 + "\nurl" + url3);
}

最新文章

  1. centos6配置网卡
  2. 太阳系Demo(openGL)
  3. [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。
  4. leetcode 题解:Binary Tree Level Order Traversal (二叉树的层序遍历)
  5. ENVI Services Engine5.1 应用开发入门教程
  6. 《Linux内核修炼之道》 之 高效学习Linux内核
  7. 【转载】深入浅出http请求
  8. 第2次作业:软件分析之Steam
  9. Jmeter使用JDBC请求简介
  10. JDK源码分析(4)之 LinkedList 相关
  11. form编码方式application/x-www-form-urlencoded和multipart/form-data的区别
  12. 【Sichuan 2017D】Dynamic Graph
  13. Asp.net core 学习笔记 (授权)
  14. Entity Framework数据库初始化
  15. UVALive - 4094 WonderTeam (贪心)
  16. go语言之进阶篇正则表达式
  17. 2018C语言助教总结
  18. socket.io带中文时客户端无法响应
  19. ASP.Net ListBox DropdownList 不同条目设置背景色和字体颜色( 转· 载 )
  20. Java发邮件带附件(且重命名附件)

热门文章

  1. node爬虫的几种简易实现方式
  2. [WPF自定义控件库] 给WPF一个HyperlinkButton
  3. DFS树求割点问题
  4. YARN底层基础库
  5. PHPstorm 运行时出现 Not Fount 解决办法
  6. 【sybase】You can’t run SELECT INTO in this database的解决办法
  7. 用jquery uploadify上传插件上传文件
  8. hdu-6579 Operation
  9. Codeforces Round #506 (Div. 3) 1029 D. Concatenated Multiples
  10. HDU 4322Candy 最大费用最大流