通过 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
相关文档:
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
<o:p></o:p>
Collection
├List
│├LinkedList
│├ArrayList
│└Vector ......
一位ID为ultimus的程序员开发了一种名为anic的新语言,近日引起业界关注。根据Google Code上该项目的简介,该语言的正式名称是ANI,anic是这种语言的参考实现。
ANI是一种实验性、高性能、静态安全、完全隐含支持并行、面向对象的通用数据流编程语言。
anic用GNU工具链写成,因此可移植性很好,可以运行于所有主流操作系 ......
方案一步骤:
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 ......
1、 对象的初始化
(1) 非静态对象的初始化
在创建对象时,对象所在类的所有数据成员会首先进行初始化。
基本类型:int型,初始化为0。
如果为对象:这些对象会按顺序初始化。
※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。
构造方法的作用就是初始化。
(2) 静态对象的初始化
程序中主类的 ......
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; ......