J2SE综合:关于private构造函数

看下面的类:

HibernateSessionFactory.java
package zy.pro.wd.util;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html}.
*/
public class HibernateSessionFactory {
/**
* Location of hibernate.cfg.xml file.
* NOTICE: Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file. That
* is place the config file in a Java package - the default location
* is the default Java package.
* Examples:
* CONFIG_FILE_LOCATION = "/hibernate.conf.xml".
* CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
/** Holds a single instance of Session */
private static final ThreadLocal threadLocal = new ThreadLocal();
/** The single instance of hibernate configuration */
private static final Configuration cfg = new Configuration();
/** The single instance of hibernate SessionFactory */
private static net.sf.hibernate.SessionFactory sessionFactory;
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the SessionFactory if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session currentSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null) {
if (sessionFactory == null) {
try {
cfg.configure(CONFIG_FILE_LOCATION);
sessionFactory = cfg.buildSessionFactory();
}
catch (Exception e) {
System.err.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
session = sessionFactory.openSession();
threadLocal.set(session);
}
return session;
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* Default constructor.
*/
private HibernateSessionFactory() {
}
}

时间: 2025-01-24 04:17:34

J2SE综合:关于private构造函数的相关文章

J2SE综合:对Final的一点认识

在编程的过程中,我们总是会遇到final关键字,那么我们对final怎么理解呢,下面是我的一点粗浅认识,和大家共享. package zy.pro.jbd.demo; public class FinalDemo { final int numInt1=16; final String str="zy"; final String str1; 注意:str1在此没有初始化,那么必须要在构造函数中初始化,否则要报错.也就是说,final变量必须要进行初始化. public FinalDe

J2SE综合:彻底理解JavaHelp结构的好处

Sun微系统的JavaHelp系统是一种应用程序帮助技术,它可以在所有支持Java的平台和浏览器中运行只要它是一个纯粹的Java产品.通过applet和Java应用程序,在其他环境下,比如在互联网或企业内部互联网中,它是理想的使用对象.在本文中,我将回顾JavaHelp的主要作用,并阐明它的简单使用方法. 优点 JavaHelp通过使用Java基础类(JFC) 软件组件来实现,这使得开发户自定义界面和功能变得灵活轻松.您可以轻而易举地将应用程序的帮助信息嵌入到应用程序之中,或者嵌入到另一个独立的

J2SE综合-关于字符串的一些处理技巧

这是本人与同事在工作中对字符串处理的总结,发表出来,希望对大家有些帮助,也希望大家给予指正,谢谢!~ import java.util.*: /** * 文件标题: *关于字符串的一些处理方法: * @版本 1.0 */ public class StringUtil { public StringUtil() { } /** * @description 字符串替代函数 * @param source String 源字符串 * @param be_rep_str String 需要被替换的子

J2SE综合:浅谈java程序发布之jre篇

Java开发程序,发布时总要考虑的问题就是怎么在使用者的机器上装好JRE.要考虑的问题很多:使用者有没有能力独自安装JRE,使用者已有的 JRE 和我们需要的版本是不是一致,会不会出现版本问题,等等.使用.NET要考虑的问题就少些.现在.NET CLR似乎已经很普及了,看好多D版的 Win XP都会自己安装最新的.NET CLR,而且似乎它的安装界面也比JRE友好些.彻底解决安装JRE的问题的方案,就是让我们的应用程序自己背着JRE!这样,我们的程序就像传统的Win32应用程序一样,双击就可以执

J2SE综合:属性配置文件的使用方法

我们常常使用配置文件来进行工程属性的配置,那么我们如何使用我们的属性文件呢? 假设有一个连接数据库的属性配置文件jdbc.properties, 文件内容如下: jdbc.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc.url=jdbc:microsoft:sqlserver://10.0.0.168:1433; jdbc.username=sa jdbc.password=sa jndi.databaseName=northwi

J2SE综合:使用条件运算符的阵痛

一.案例编号: U02C09 二.案例名称: 使用条件运算符的阵痛 三.关键词: 条件运算符.三目运算符.三元运算符.类型转换 四.案例情景描述: 条件运算符有三个操作数.它的形式是:boolean-exp?exp1:exp2.它首先计算boolean表达式的值,如果为true那么整个表达式的值就是表达式exp1的值,如果boolean表达式的值为false,那么整个表达式的值就是exp2的值. intk=(2>3)?23:45;因为boolean表达式2>3为false,所以k的值是45.

J2SE综合之浅谈String类的相关应用

字符串类,包含了字符串的值和实现字符串相关操作的一些方法. 其实字符串在java中的实现比较特殊,你可以不使用构造方法,就可以直接获得一个字符串对象. String str1 = "test";//不使用构造方法 String str2 = new String("test");//使用构造方法 实际上以上两者的效果是相同的,就是创建了一个内容为"test"的字符串. 下面我们来说一下String类本身的特性. 首先需要注意到的是String是一

J2SE综合:两种Java容器类List和Set分析

容器类可以大大提高编程效率和编程能力,在Java2中,所有的容器都由SUN公司的Joshua Bloch进行了重新设计,丰富了容器类库的功能. Java2容器类类库的用途是"保存对象",它分为两类: Collection----一组独立的元素,通常这些元素都服从某种规则.List必须保持元素特定的顺序,而Set不能有重复元素. Map----一组成对的"键值对"对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛的应用.另外,Map可以返回其所有键

private的构造函数能直接使用?

问题描述 publicclassSquareTool{privateStringstr;privateSquareTool(){//privatestr="nothing";}privateclassContents{//privateprivatevoidf(){//privateSystem.out.println("InClassFirst'sinnerClassContentsmethodf()");}privatevoidgetStr(){System.o