通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法
通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法
小型项目中常常都没有用三方持久化框架,而大都是用公司或自行依据DAO模式封装的一些组件来完成数据库持久化动作,并且,通常为了更具可扩展性,常常使用抽象工厂模式来解耦合。
一、先看代码
1、简单工厂代码
/*****************************************************************************/
/* Title: DAOFactory 1.0 */
/* Description: DAOFactory 1.0 Java Source Code. */
/* Copyright: Copyright(c) 2009 - CodingMouse, Inc. All rights are reserved. */
/* Company: CodingMouse's Java R&D Studio */
/* */
/* Created in August 8, 2009 */
/*****************************************************************************/
package com.china.codingmouse.cmsdk4j.dao.factory;
import java.io.Serializable;
import com.china.codingmouse.cmsdk4j.config.CmSdk4jConfigurationReader;
import com.china.codingmouse.cmsdk4j.dao.generaldao.GeneralDAO;
import com.china.codingmouse.cmsdk4j.dao.generaldao.IGeneralDAO;
import com.china.codingmouse.cmsdk4j.dao.genericsdao.GenericsDAO;
import com.china.codingmouse.cmsdk4j.dao.genericsdao.IGenericsDAO;
import com.china.codingmouse.cmsdk4j.exception.GeneralException;
/**
* 数据访问工厂。<br><br>
*
* 用于封装常规以及泛型数据访问动作实现的构建。
* @param <T> 泛型类型参数。
* @author CodingMouse
* @version 1.0
* @see AbstractDAOFactory
* @since JDK1.5
*/
public class DAOFactory<T extends Serializable> extends AbstractDAOFactory<T> {
/**
* 构建常规数据访问动作实例。
* @return 常规数据访问动作接口实例。
*/
@Override
public IGeneralDAO buildGeneralDAO() {
try {
// 从配置档中读取常规数据访问动作实现类完全限定名
String className = CmSdk4jConfigurationReader.getInstance().getBaseSetting(false).get
相关文档:
最近用installanywhere做了一个安装包,卸载的时候总是出现“载入java vm时windows出现错误:3”,很不爽,上网查看原因,原来是因为中间我重新更换过jdk的版本,现在有些软件自带VM或JDK,windows系统通过注册表来管理当前系统所使用的VM和JDK路径,因此,当安装的软件JDK版本和 ......
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
<o:p></o:p>
Collection
├List
│├LinkedList
│├ArrayList
│└Vector ......
方案一步骤:
1、配置Tomcat\conf\context.xml添加 <Resource>
<Resource name="jdbc/books" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="sa" password=""
driverClassName="com.microsoft.jdbc.sqlse ......
xml中键名为 英文,键值为中文,读取解析,取值实现翻译
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList; ......
Java
Reflection (JAVA反射)
Reflection 是 Java
程序开发语言的特征之一,它允许运行中的 Java
程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java
类中各成员的名称并显示出来。
Java
的这一能力在实际应用中也许用得不是很多,但 ......