⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daofactory.java

📁 一个order订单系统。用spring+struts+hibernate
💻 JAVA
字号:
package cn.hxex.blog.dao;

import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.digester.Digester;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.SAXException;

import cn.hxex.blog.config.BlogConfig;

/**
 * DAO工厂类还负责读取配置文件
 */
public class DaoFactory {
	
	private static Log log = LogFactory.getLog(DaoFactory.class);

	// 全局的配置信息对象
	public static final BlogConfig blogConfig;
	
	// 进行XML文件向Java对象的转换
	static
	{
		Digester digester = new Digester();
		digester.setValidating( false );
		
		// 设置处理规则
		digester.addObjectCreate( "config", 
		    "cn.hxex.blog.config.BlogConfig" );
		digester.addSetProperties( "config" );
		
		digester.addObjectCreate( "config/dao", 
		    "cn.hxex.blog.config.DaoConfig" );
		digester.addSetProperties( "config/dao" );
		digester.addSetNext( "config/dao", "addDao", 
		    "cn.hxex.blog.config.DaoConfig" );
		
		ClassLoader classLoader = 
		    Thread.currentThread().getContextClassLoader();
		InputStream in = 
		    classLoader.getResourceAsStream( "BlogConfig.xml" );
		BlogConfig config = null;
		try 
		{
			if( in!=null )
				config = (BlogConfig)digester.parse( in );
		} 
		catch (IOException e) 
		{
			e.printStackTrace();
		} 
		catch (SAXException e) 
		{
			e.printStackTrace();
		}
		blogConfig = config;
	}
	
	// 取得Dao的实例
	public static Object getDao( String name )
	{
		if( null==blogConfig ) return null;
		
		if( log.isInfoEnabled() ) {
			log.info( "Getting the dao:" + name );
		}
		
		return blogConfig.getDao( name );
	}
	
	public static IUserDAO getUserDAO() {
		log.info( "Getting the userDao..." );
		return (IUserDAO)getDao( "userDao" );
	}

	public static IMessageDAO getMessageDAO() {
		log.info( "Getting the messageDao..." );
		return (IMessageDAO)getDao( "messageDao" );
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -