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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 ☆星痕泪 于 2013-12-21 19:07 编辑
  1. 示例:构建连级属性,在NewBean中引入变量DemoBean实例
  2. package cn.heima.Day2;
  3. public class DemoBean{
  4.         private String name;
  5. public DemoBean(String name) {
  6.                 super();
  7.                 this.name = name;
  8.         }
  9.         public String getName() {
  10.                 return name;
  11.         }
  12.         public void setName(String name) {
  13.                 this.name = name;
  14.         }        
  15. }
  16. package cn.heima.Day2;
  17. public class NewBean {
  18.         private DemoBean db = new DemoBean();
  19.         public DemoBean getDb() {
  20.                 return db;
  21.         }
  22.         public void setDb(DemoBean db) {
  23.                 this.db = db;
  24.         }
  25. }
  26. 测试类:
  27. package cn.heima.Day2;
  28. import java.lang.reflect.InvocationTargetException;
  29. import org.apache.commons.beanutils.BeanUtils;
  30. public class ReflectBean {
  31.         public static void main(String[] args)
  32.                         throws IllegalAccessException,
  33.                         InvocationTargetException, NoSuchMethodException {
  34.                
  35.                 NewBean nb = new NewBean();
  36.                 BeanUtils.setProperty(nb, "db.name", "练习");
  37.                 System.out.println(BeanUtils.getProperty(nb, "db.name"));
  38.         }
  39. }
复制代码

HNKH}188B4Y(9REVZK{VA8L.jpg (83.14 KB, 下载次数: 28)

HNKH}188B4Y(9REVZK{VA8L.jpg

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

11 个回复

正序浏览
776699 发表于 2013-12-21 16:38
beanUtils连个jar包要都导入,还有,不要引入错误的包噢

哎,盆友,你都测试过的,那么代码肯定没问题了。现在我这个还是老样子报错,应该不是代码问题。看来我要从新装哈这个eclipse,今早上开机好像就有个关于它的系统错误提示,当时没管。写代码测试没过后面就没心情看了。郁闷啊。煮饭去了,呵呵
回复 使用道具 举报
776699 发表于 2013-12-21 16:38
beanUtils连个jar包要都导入,还有,不要引入错误的包噢

O(∩_∩)O~,谢谢,先开始的包我是在论坛下载的,也是按照视频装的,应该诶问题感觉,不过我还是要从新弄哈。哎,本来不大的问题,都理解的,老是测试运行出问题,花了好多时间。
回复 使用道具 举报
776699 中级黑马 2013-12-21 16:38:13
10#
beanUtils连个jar包要都导入,还有,不要引入错误的包噢
回复 使用道具 举报
776699 中级黑马 2013-12-21 16:36:21
9#
package test;

public class NewBean {
        private DemoBean p=new DemoBean();

        public DemoBean getP() {
                return p;
        }

        public void setP(DemoBean p) {
                this.p = p;
        }

}
package test;

public class DemoBean {
         private String name;
         DemoBean(){}
         public DemoBean(String name) {

                         super();

                         this.name = name;

                 }

                 public String getName() {

                         return name;

                 }

                 public void setName(String name) {

                         this.name = name;

                 }   
}
package test;

import org.apache.commons.beanutils.BeanUtils;

public class ReflectBean {
        public static void main(String[] args)throws Exception {

                NewBean p2=new NewBean();
                BeanUtils.setProperty(p2, "p.name", "呵呵");
               
                System.out.println(BeanUtils.getProperty(p2, "p.name"));

        }

}

帮你测试了一下,可也通过
我的beanUtils 两个jar包地址:http://download.csdn.net/detail/u012874998/6590537
导BeanUtils时用:import org.apache.commons.beanutils.BeanUtils;
回复 使用道具 举报
776699 发表于 2013-12-21 16:19
你好:添加一个空的构造函数
DemoBean {
         private String name;

还是没有用啊,我参考http://blog.csdn.net/benjaminzhang666/article/details/9768553他的帖子上的,我基本上和他一样,只是变量名的区别,但还是过不了。我估计我导的包有点问题了
回复 使用道具 举报
776699 中级黑马 2013-12-21 16:21:38
7#
你在测试一下看看
回复 使用道具 举报
你好:添加一个空的构造函数
DemoBean {
         private String name;
         DemoBean(){}
回复 使用道具 举报
你好:修改后:
public class DemoBean {
         private String name;
         DemoBean(){}
         public DemoBean(String name) {

                         super();

                         this.name = name;

                 }

                 public String getName() {

                         return name;

                 }

                 public void setName(String name) {

                         this.name = name;

                 }   
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
776699 发表于 2013-12-21 15:00
什么错误粘贴出来

图片已上。我不知道是不是我导包导错了吗?可是做视频讲解那个都可以用这个包设置出来。还有一个问题,
  1. BeanUtils.setProperty(bean, "birthDay.time","77");
  2.                 System.out.println(BeanUtils.getProperty(bean,"birthDay.time"));//获取设置后的time值
复制代码

之前就是因为这个 高了半天没见动静,没报错。所以我就想想自己做一个,奶奶的,还居然报错。弄了好久。哥们都快哭了。。。
回复 使用道具 举报
什么错误粘贴出来
回复 使用道具 举报
这是怎么回事?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马