src/org/nutz/dao/util/DaoUp.java
protected DataSource buildDataSource(Properties props) {
        if (druidFactoryClass != null) {
            log.debug("build DruidDataSource by props");
            Mirror<?> mirror = Mirror.me(druidFactoryClass);
            DataSource ds = (DataSource) mirror.invoke(null, "createDataSource", props);
            if (!props.containsKey("maxWait"))
                Mirror.me(ds).setValue(ds, "maxWait", 15*1000);
            return ds;
        }
        log.debug("build SimpleteDataSource by props");
        return SimpleDataSource.createDataSource(props);
    }
protected DataSource buildDataSource(Properties props) {
        if (druidFactoryClass != null) {
            log.debug("build DruidDataSource by props");
            Mirror<?> mirror = Mirror.me(druidFactoryClass);
            DataSource ds = (DataSource) mirror.invoke(null, "createDataSource", props);
            if (!props.containsKey("maxWait"))
                Mirror.me(ds).setValue(ds, "maxWait", 15*1000);
            return ds;
        }
        log.debug("build SimpleteDataSource by props");
        return SimpleDataSource.createDataSource(props);
    }
构建DataSource,子类可覆盖. 如果存在Druid,则使用之,否则使用内置的SimpleDataSource
@param props 配置信息
@return 目标DataSource