A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 ò壞尛孩 于 2014-5-5 23:06 编辑

proxy.rar (4.79 KB, 下载次数: 467)


基础加强最后一个大程序,动态代理,BeanFactory,ProxyFactoryBean,和通过配置文件获取自定义的代理的综合程序!
这是一个包文件, 因为原来的路径下还有其他的包  所以我就只把这个包单独拿出来了!

程序有个小错误
Exception in thread "main" java.lang.NullPointerException
        at proxy.AopFrameworkTest.main(AopFrameworkTest.java:14)

空指针异常  求大神帮看下,解释的好的我会给5个黑马币!技术分我还要入学 就不给了哈!{:3_54:}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 很给力!

查看全部评分

9 个回复

正序浏览
可以看看,你是报的哪一期的?看咱两有机会做同学不..呵呵
回复 使用道具 举报
ò壞尛孩 发表于 2014-5-4 21:08
xxx=java.util.ArrayList
#xxx=proxy.ProxyFactoryBean
xxx.advice=proxy.MyAdvice

if(bean instanceof ProxyFactoryBean){ 你看你这句话改成ArrayList没有
如果没有 当然会空指针,因为bean已经读取到ArrayList了,当然不是ProxyFatoryBean的实例了。
但是把它改成ArrayList的话,这样就没有get,set方法了。
回复 使用道具 举报
我看了一下,为什么报空指针异常,说明你这个BeanFactory对象没创建成功
因为你用的是.class.getResourceAsStream而classPath下没有config这个配置文件,所以Properties没加载成功
你看如果你把
  1. InputStream ips=AopFrameworkTest.class.getResourceAsStream("config.properties");
复制代码

改成
  1. InputStream ips = new FileInputStream("config.properties");
复制代码

就正确了。
还有一种改法是把配置文件放到存放.class文件的文件夹里面也能成功,因为配置文件加载成功了
回复 使用道具 举报
NNERO 发表于 2014-5-4 19:26
就是个粗心的问题。
在你的config.properties文件中的:
xxx.advice=proxy.MyAdvice这句话 你少写个e

xxx=java.util.ArrayList
#xxx=proxy.ProxyFactoryBean
xxx.advice=proxy.MyAdvice
xxx.target=java.util.ArrayList

注释改下  为什么又空指针异常?是读取这个配置文件的问题吗?
回复 使用道具 举报
焚雨成灰 发表于 2014-5-4 20:32
你为何还在纠结这个,估计都不用看,因为你的InvocationHandler中的invoke方法返回的是null ...

你看程序了吗?
回复 使用道具 举报
NNERO 发表于 2014-5-4 19:26
就是个粗心的问题。
在你的config.properties文件中的:
xxx.advice=proxy.MyAdvice这句话 你少写个e

哦了!谢谢!设置成回复才能看 因为  只有回复的人才想帮忙别人解决问题!
回复 使用道具 举报
你为何还在纠结这个,估计都不用看,因为你的InvocationHandler中的invoke方法返回的是null
回复 使用道具 举报
就是个粗心的问题。
在你的config.properties文件中的:
xxx.advice=proxy.MyAdvice这句话 你少写个e
你的:xxx.advic=proxy.MyAdvice 少个e

评分

参与人数 1黑马币 +5 收起 理由
ò壞尛孩 + 5 很给力!

查看全部评分

回复 使用道具 举报
为何要回复才给看!?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马