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

📄 basedaotestcase.java

📁 基于Maven的质量保证自动化环境配置和演示程序
💻 JAVA
字号:
package com.cib.dao;import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.SessionFactory;import org.springframework.orm.hibernate3.HibernateTemplate;import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.MissingResourceException;import java.util.ResourceBundle;/** * 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[] {                "classpath:/applicationContext-resources.xml",                "classpath:/applicationContext-dao.xml",                "classpath*:/applicationContext.xml", // for modular projects                "classpath:**/applicationContext*.xml" // for web projects            };    }    /**     * 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 + -