您的位置:首页 > 编程语言 > Java开发

java简单模拟:单例模式的应用

2013-09-23 08:11 267 查看


//提醒自己资源库里有源码附件,以便面试时备用






package www.csdn.net.util;



import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


import java.util.Properties;

/**

 * 简单模拟:单例模式的应用

 *

 * @author

 *

 */

public class JdbcUtil {

    //封装的私有成员

    private static Connection conn;

    /**

     * 私有构造器

     */

    private JdbcUtil() {


    }

    /**

     * 获取连接对象

     * @return

     */

    public static synchronized Connection getConn() {

        if (conn == null) {

            try {

                // 第一步加载驱动程序

                Class.forName("com.mysql.jdbc.Driver");

                File file = new File("src//jdbc.properties");


                InputStream is = new FileInputStream(file);

                Properties prop = new Properties();

                prop.load(is);

                // 第二步:获取连接对象

                conn = DriverManager.getConnection(prop.getProperty("url"),

                        prop.getProperty("user"), prop.getProperty("pass"));

            } catch (Exception e) {

                // TODO Auto-generated catch block

                e.printStackTrace();


            }

        }

        return conn;

    }

    /**

     * 释放资源

     * @param stmt

     * @param rs

     */

    public static void release(Statement stmt, ResultSet rs) {

        if (rs != null) {


            try {

                rs.close();

            } catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

        if (stmt != null) {

            try {

                stmt.close();

            } catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

    }

}



//封装类

package www.csdn.net.util;

public class Singleton {

    // 定义了一个私有的变量

    private static Singleton instance = new Singleton();

    /**

     * 私有构造器

     */

    private Singleton() {

    }

    /**

     * 提供供外界访问的这个方法 能获取私有的属性instance

     *

     * @return

     */

    public static Singleton getSingleton() {

        

        return instance;

    }

}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面试 源码 url csdn