add more codes for configure the dependency injection and read the data source from xml