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

📄 basedaotestcase.java

📁 利用STRUTS2+SPRING+HIBERNATE/IBATIS建立的基本开发框架
💻 JAVA
字号:
package test.com.sunwah.baseapp.dao;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.MissingResourceException;import java.util.ResourceBundle;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.SessionFactory;import org.springframework.beans.BeanUtils;import org.springframework.orm.hibernate3.HibernateTemplate;import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;/** * Base class for running DAO tests. *  * @author mraible */public abstract class BaseDaoTestCase extends		AbstractTransactionalDataSourceSpringContextTests {	/**	 * Log variable for all child classes. Uses LogFactory.getLog(getClass())	 * from Commons Logging	 */	protected final Log log = LogFactory.getLog(getClass());	/**	 * ResourceBundle loaded from	 * src/test/resources/${package.name}/ClassName.properties (if exists)	 */	protected ResourceBundle rb;	/**	 * Sets AutowireMode to AUTOWIRE_BY_NAME and configures all context files	 * needed to tests DAOs.	 * 	 * @return String array of Spring context files.	 */	protected String[] getConfigLocations() {		setAutowireMode(AUTOWIRE_BY_NAME);		return new String[] { "applicationContext.xml",				"applicationContext-datasource.xml",				"applicationContext-dao.xml" };	}	/**	 * Default constructor - populates "rb" variable if properties file exists	 * for the class in src/test/resources.	 */	public BaseDaoTestCase() {		// Since a ResourceBundle is not required for each class, just		// do a simple check to see if one exists		String className = this.getClass().getName();		try {			rb = ResourceBundle.getBundle(className);		} catch (MissingResourceException mre) {			// log.warn("No resource bundle found for: " + className);		}	}	/**	 * Utility method to populate a javabean-style object with values from a	 * Properties file	 * 	 * @param obj	 *            the model object to populate	 * @return Object populated object	 * @throws Exception	 *             if BeanUtils fails to copy properly	 */	protected Object populate(Object obj) throws Exception {		// loop through all the beans methods and set its properties from its		// .properties file		Map<String, String> map = new HashMap<String, String>();		for (Enumeration<String> keys = rb.getKeys(); keys.hasMoreElements();) {			String key = keys.nextElement();			map.put(key, rb.getString(key));		}		BeanUtils.copyProperties(map, obj);		return obj;	}	/**	 * Create a HibernateTemplate from the SessionFactory and call flush() and	 * clear() on it. Designed to be used after "save" methods in tests:	 * http://issues.appfuse.org/browse/APF-178.	 */	protected void flush() {		HibernateTemplate hibernateTemplate = new HibernateTemplate(				(SessionFactory) applicationContext.getBean("sessionFactory"));		hibernateTemplate.flush();		hibernateTemplate.clear();	}}

⌨️ 快捷键说明

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