JavaBean

JavaBean的理解

A、JavaBean是一种JAVA语言写成的可重用组件。可重复使用,减少代码冗余,方便维护;
B、简单一点:JavaBean是一种特殊的类,或者说满足一定规范的类;其实就是一个类,只是该类满足一定的规则

PS:把javaBean也可以称为实体类

满足的规则

1、类必须要被public修饰符修饰 【访问权限最大化,非抽象的】

2、对象属性/字段私有化(建议对象属性使用包装类) 【控制直接操作对象属性】

3、必须提供一个公共无参的构造方法 【方便框架或底层通过反射创建对象】

4、必须提供一套公共setter和getter方法 【方便设置和获取属性/el表达式】

Bean属性与对象属性

A、Bean属性 == JavaBean属性:getter和setter方法上的属性,其中getter方法上的属性称之为可读属性,setter方法上面的属性称之为可写属性;

B、对象属性 == 字段,即实例变量;

C、一般情况下bean属行和对象属性拥有相同的名字,当然也可以不一样,甚至没有对象属性;

D、当使用el表达式就是使用的getter方法上的Bean属性获取值的;

实例:

/**
 * JavaBean
 */
public class JavaBeanDemo {
   
    //~必须是一个公共的类
    //~建议对象属性/字段是私有化
    private String name;//对象属性/字段 name

    private Integer age;//对象属性/字段 age

    private Boolean sex;//对象属性/字段 sex

    private boolean value;//对象属性/字段 value

    public JavaBeanDemo() {
   
    //~必须提供公共无参方法
    }

    /**
     * ~必须给每个对象属性/字段提供一套setter和getter方法
     *  是方法也可叫做属性:
     *         属性分为:
     *              可读属性  getXxx
     *
     *              可写属性  setXxx
     * 【属性名是把get或者set或is(boolean)去掉,其后面的Xxx但之后首字母要小写xxx才叫属性名,与对象属性/字段无关】
     * 
     * 所以以下有6个属性,一定跟对象属性/字段无关
     *
     * 一般字段和属性名是一致
     */
    public String getpP(){
   
    //bean属性pP【只有一个可读属性】
        return "pP";
    }
    
    public void setxX(String xx){
   
    //bean属性xX【只有一个可写属性】
        System.out.println(xx);
    }

    public String getName() {
   
    //bean属性name【可读属性】
        return name;
    }

    public void setName(String name) {
   
    //bean属性name【可写属性】
        this.name = name;
    }

    public Integer getAge() {
   
    //bean属性age【可读属性】
        return age;
    }

    public void setAge(Integer age) {
   
    //bean属性age【可写属性】
        this.age = age;
    }

    public Boolean getSex() {
   
    //bean属性sex【可读属性】
        return sex;
    }

    public void setSex(Boolean sex) {
   
    //bean属性sex【可写属性】
        this.sex = sex;
    }

    //注意:基本数据类型boolean的可读属性前面是is
    public boolean isValue() {
   
    //bean属性value【可读属性】
        return value;
    }

    public void setValue(boolean value) {
   
    //bean属性value【可写属性】
        this.value = value;
    }
}

Introspector类

提供了一种标准的工具来了解目标Java Bean支持的属性,事件和方法

static BeanInfo getBeanInfo(类<?> beanClass)

	内省Java Bean并了解其所有属性,暴露的方法和事件 
	参数为JavaBean类字节码;还会拿到父类的属性
	获取bean信息
public class JavaBeanText {
   
   
    @Test
    public void testAll() throws IntrospectionException {
   
   
        //获取bean信息【该方法会抛出异常】
        BeanInfo beanInfo = Introspector.getBeanInfo(JavaBeanDemo.class);//会拿到父类里面的属性
        System.out.println(beanInfo);//java.beans.GenericBeanInfo@2acf57e3
    }
}

static BeanInfo getBeanInfo(类<?> beanClass, 类<?> stopClass)

	内省Java bean并了解其属性,暴露的方法,低于给定的“停止”点 
	参数2,不会拿到父类中的属性
public class JavaBeanText {
   
   
    @Test
    public void testAll(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值