BeanUtils.getProperty(javabeanInstance,propertyName)
BeanUtils.setProperty(javabeanInstance,propertyName,propertyValue)
BeanUtils的好处
BeanUtils会把属性值从字符串转换为属性类型(WebApp中传来的参数一般是字符串)
支持属性集联操作,直接操作bean对象内部对象属性的属性
如:
BeanUtils.setProperty(javabeanInstance,propertyObjectName.propertyName,propertyValue)
BeanUtil使用起来会比javabean内省或者手动反射来方便很多
!PropertyUtils则是以属性本身的类型进行操作
Beanutils.describe()
支持从javabean转换为map
BeanUtils,populate()
则支持从map转换为javabean
严格来说,javabean本身就是一种通许的机制,类似与map,json甚至xml.只不过后者是通用的,而javabean则是java自身的。
常用的注解:
@SupperessWarning
声明忽略编译警告
@Deprecated
申明一个方法过时
@Override
声明重载
注解类似于一种特殊的类,注解就是一种标记,javac编译器,IDE,其他程序可以用反射解析各种标记,然后做相应的动作
用@interface来定义注解
---》
@inteface AnnotationName{}
注解的生命周期有3个阶段:
java源文件----->class文件----->内存中的字节码
@Retention元注解定义注解的3个生命周期,
Retention.Policy.Source; Retention.Policy.CLASS;Retention.Policy.RUNTIME
分别代表源码,字节码和运行期
默认值是CLASS(字节码)阶段
@Target元注解定义注解适用与类方法或变量成分
Class的父类是TYPE
注解的属性添加方法:String xxx();int xxx2();记住:这是属性,不是方法
属性名称为value的时候,且只有value属性需要设置,在添加注解时可以省略"value="直接添加值
属性后用deflault "xxx"可以为任意属性设置属性的缺省值(默认值)