改了初始化数据源的构造函数,添加多种方式初始化