对javabean的内省操作】的更多相关文章

上一篇我们说了Java反射之数组的反射应用 这篇我们来模拟实现那些javabean的框架(BeanUtils)的基本操作. [一] 什么是JavaBean JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,通过set和get方法获取. 一般我们根据这种方法命名规则,通过反射获得某个或者设置某个属性的时候,假如这个属性名为"x",那么,就…
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; imp…
    Apache commons 一系列的开源工具室非常值得学习的实现. 一 JavaBean定义     JavaBean是一种可重复使用.且跨平台的软件组件.JavaBean可分为两种:一种是有用户界面(UI,User Interface)的 JavaBean:还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean.JSP通常访问的是后一种JavaBean. 二 JavaBean特点 一个标准的JavaBean有以下几个特性:  JavaBean是一个公共的…
JavaBean和内省 JavaBean是一个遵循特定的写法的java类     1. 必须有一个无参的构造方法     2.属性私有化     3.私有你给的属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范.   访问JavaBean属性的两种方式 1.直接调用bean的setXXX或getXXX 2.通过内省技术访问(java bean包提供了内省的API)    * 内省技术是基于反射技术的    *通过Introspector类获得Bean对象的B…
Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,假设浏览器没有禁用cookie的话,当浏览器再次訪问项目中的Servlet程序时会将JSESSIONID带着.这时JSESSIONID就像唯一的一把钥匙  开启server端相应的session空…
内省(Introspector) 是Java 语言对JavaBean类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则.如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(Value Object),或“VO”.方法比较少.这些信息储存在类的私有变量中,通过set().get()获得. 例如类UserInfo : package com.peidasoft.in…
项目需要,需要使用内省操作,将数据写入thrift生成的bean里,于是按常理getWritedMethod.invoke 结果发现set方法找不到,结果看了下thrift自己生成的bean里,set的返回值是bean对象本身,不是传统的 public void setXX(Object obj),所以在做内省操作时找不到set方法,如图: 解决办法:用反射,因为thrift生成的bean字段都是public的,所以直接调用反射字段然后赋值即可,…
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import org.junit.Test; //使用内省api操作bean的属性 public class Demo { /** * * @throws…
一.关于javabean javabean是固定写法的java类 书写格式为: 1)必须有无参构造函数 2)属性必须私有, 我们称为字段 3)提供标准的getter和setter 例: name 字段 的getter: String getName() settter: void setName(String name) javabean例子: //快捷键是shift+alt+s public class User { private String name; private int age;…
JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的. 但基本上每个JSP都是使用page指令============================================================page指令 page指令是最为常用的指令 1.page指令的常用属性: *import:等同于import语句 **<%@ page import="java.util.*" % **&…