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

📄 daofactory.java

📁 ajax博客系统,该文件内容部分综合网上的资源,自己进行了改进,转载请注明 汪建伟
💻 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;

public class DaoFactory {
	
	private static Log log = LogFactory.getLog(DaoFactory.class);
	
	public static final BlogConfig blogConfig;
	
	static{
		Digester digester = new Digester();
		// 设置不对xml与相应的DTD的合法性进行验证
		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);
			}
			else{
				System.out.println("in is null!");
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		}
		blogConfig = config;
	}
	
	public static Object getDao(String name){
		if (blogConfig == null) {
			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 + -