首先创建一个接口规范其实现类:
package JDBC;
public interface IUserDao {
public void login();
public void check();
}
然后创建类实现这个接口:
package JDBC;
public class UserDaoImpl implements IUserDao {
@Override
public void login() {
System.out.println("loading......");
}
@Override
public void check() {
System.out.println("检测中......");
}
}
创建文件记录实现类的信息:
daoClassName = JDBC.UserDaoImpl
创建工厂类进行文件读取和反射处理:
package JDBC;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
public class DaoFactor {
private static Properties props = null;
static {
try {
// 读取文件资源到props对象中
InputStream in = DaoFactor.class.getClassLoader().getResourceAsStream("msg/className.dao");
props = new Properties();
props.load(in);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static UserDaoImpl getUserDaoImpl() {
// 获取类名
String className = props.getProperty("daoClassName");
try {
// 返回实例化对象
return (JDBC.UserDaoImpl) Class.forName(className).getDeclaredConstructor().newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
最后创建测试类:
package JDBC;
public class Test {
public static void main(String[] args) {
UserDaoImpl udp = DaoFactor.getUserDaoImpl();
udp.login();
udp.check();
}
}
输出结果:
完成、、、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)