1、如何使用 getResourceAsStream() 加载文件
getResourceAsStream() 是java中用于加载资源文件的方法之一。
它是 ClassLoader 和 Class 类提供的方法,用于从类路径(ClassPath)中获取资源文件并返回一个输入流 (InputStream)。这个方法常用于加载配置文件,模板文件,图片,音频等各种类型的资源。
如果找到资源文件,则返回一个 InputStream
对象,允许你以字节流的方式读取资源文件的内容。
如果找不到资源文件,则返回 null 。
2、动态代理
public Object getProxyObject(){ return Proxy.newProxyInstance(realStar.getClass().getClassLoader(), realStar.getClass().getInterfaces(), new InvocationHandler() { // 代理类要做的事 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println(1111111); Object invoke=method.invoke(realStar,args); System.out.println(1111111); return invoke; } }); }
Object invoke=method.invoke(realStar,args);这里的method是
Star proxyObject=(Star)new ProxyFactory(new RealStar()).getProxyObject(); proxyObject.sing();的时候就已经传入invoke作为参数。
3、传统JDBC的问题
-
手动创建和释放链接
-
sql语句在代码中硬编码
-
对结果的解析
接口只写演员要实现的方法,由演员类之间实现,
观众类新建经纪人对象并传入演员对象作为参数,再调用方法
经纪人类中利用传入的演员对象进行反射调用演员中的方法