dao举例:
1、
package com.sky.dao;
public interface PeopleDao {
public void show();
}
2、
package com.sky.dao.impl;
import com.sky.dao.PeopleDao;
public class PeopleDaoImpl implements PeopleDao {
public void show(){
System.out.println("daoimpl");
}
}
3、
package com.sky.dao.factory;
import java.util.ResourceBundle;
import com.sky.dao.PeopleDao;
//单例工厂
public class DaoFactory {
private DaoFactory(){};
private static DaoFactory instance = new DaoFactory();
public static DaoFactory getInstance(){
return instance;
}
/*
* for example:PeopleDao pd = DaoFactory.getInstance().creatDao(PeopleDao.class);
* pd.show();
*/
public <T> T creatDao(Class<T> t){
String simpleName = t.getSimpleName();
//dao.properties,for example:PeopleDao = com.sky.dao.impl.PeopleDaoImpl
String ClazzName = ResourceBundle.getBundle("dao").getString(simpleName);
try {
return (T) Class.forName(ClazzName).newInstance();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
4、
package com.sky.test;
import com.sky.dao.PeopleDao;
import com.sky.dao.factory.DaoFactory;
public class TestDao {
public static void main(String[] args) {
PeopleDao pd = DaoFactory.getInstance().creatDao(PeopleDao.class);
pd.show();
}
}
5、dao.properties
PeopleDao =com.sky.dao.impl.PeopleDaoImpl