您的位置:首页 > 其它

factory

2016-05-26 10:37 447 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: