单例设计模式:
解决问题:为了保证一个类在一个应用程序中只有一个实例
* 饿汉式单例:类初始化时直接创建单例的对象,初始化只进行一次,所有只有一个对象
//1.定义成员变量 DataSource
private static DataSource ds ;
static{
try {
//1.加载配置文件
Properties pro = new Properties();
pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
//2.获取DataSource
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
* 懒汉式单例:创建时先进行判断,有如果有就直接获取,没有再进行创建,以保证只有一个实例
private static DataSource ds ;
public DataSource getMyDataSource(){
if(ds==null){
try {
//1.加载配置文件
Properties pro = new Properties();
pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
//2.获取DataSource
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return ds;
}else{
return ds;
}
}