Day10_23——JavaBean

JavaBean的规范
1.必须要有一个默认构造器(没参的)
2.提供get/set方法,如果只有get方法,那么这个属性是只读属性
3.属性:有get/set方法的成员,还可以没有成员,只有get/set方法。属性名称有get/set方法来决定,而不是成员变量。
4.方法名称满足一点的规范,那么它就是属性!boolean类型的属性,它的读方法可以是is开头,也可以是get开头
BeanUtils的使用
内省:
先得到内省类 --> Bean信息 - -> 属性描述符 - -> 属性的get/set对应的Method - -> 就可以反射了
一般通过commons的beanutils来实现,它是依赖内省完成的
步骤:

  • 导包:

commons-beanutils.jar
commons-logging.jar
之前创建了一个Person类,有name和age两个属性

import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
import cn.itcast.commons.CommonUtils;
public class BranUtilsDemo_01 {
@Test
    public void fun01() throws Exception {
        String className = "Demo_01.Person";
        Class c = Class.forName(className);
        Object bean = c.newInstance();
        
        BeanUtils.setProperty(bean, "name", "张三");
        BeanUtils.setProperty(bean, "age", "21");
        
        System.out.println(bean);
    }
    @Test
    public void fun2(){
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "lisi");
        map.put("age", "20");
         
        Person p = CommonUtils.toBean(map, Person.class);
        System.out.println(p);
    }
}

Jsp中与JavaBean相关的标签(基本用不上)

  • <jsp:useBean>:创建或查询bean
  • <jsp:useBean id=”user1” class=”Demo_01.BeanUtilsDemo01” scope=”page”/>// page后面写要作用的域
  • <jsp:setProperty>
  • <jsp:setProperty property=”username” name=”user1” value=”admin”/>:设置名字为user1的JavaBean的uesrname属性值为admin。
  • <jsp:getProperty>
  • <jsp:getProperty property=”username” name=”user1”/>:获取名字为user1的JavaBean的username属性值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。