URLClassLoader

package com.reflect.load;

import java.net.URL;
import java.net.URLClassLoader;
import java.sql.Connection;
import java.sql.Driver;
import java.util.Properties;
/**
 * 文件里的URL
 * file: 表示从本地文件系统加载
 * http: 表明从互联网通过HTTP访问来加载 
 * ftp:  表明从互联网通过FTP访问来加载
 * @author yulei
 *
 */

public class URLClassLoaderTest {
	private static Connection conn;
	
	//定义一个获取数据库连接的方法
	public static Connection getConn(String url,String user,String pass) throws Exception{
		if(conn==null){
			//创建一个URL数组
			URL[] urls={new URL("file:F:/workjar/springjar/mysql-connector-java-5.0.8-bin.jar")};
			//以默认的ClassLoader作为父ClassLoader创建URLClassLoader
			URLClassLoader myClassLoader=new URLClassLoader(urls);
			//加载MySQL的JDBC驱动,并创建默认实例
			Driver driver=(Driver) myClassLoader.loadClass("com.mysql.jdbc.Driver").newInstance();
			//创建一个设置JDBC连接属性的Properties对象
			Properties props=new Properties();
			props.setProperty("user", user);
			props.setProperty("password", pass);
			//调用Driver对象的connect方来取得数据库连接
			conn=driver.connect(url, props);
		}
		return conn;
	}
	
	public static void main(String[] args) throws Exception {
		System.out.println(getConn("jdbc:mysql://localhost:3306/test","root","root"));

	}

}




原文地址:https://www.cnblogs.com/wuyida/p/6300341.html