JavaBean与内省

反射与内省_JavaBean与内省 JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。 为了让程序员们更好的操作Java对象的属性,SUN公司开发了一 阅读详情

JavaBean是一个特殊的类,类里面的方法都是get...()和set...()类型的。符合这种特殊命名规则的java类称为javaBean。


可以通过get,set方法推断JavaBean里有的属性。

推断属性时,去掉方法的get,和set,剩下的名称,就是这个JavaBean的属性名。

在应用这个属性名时,

如果第二个字母是小写,要将这个名称第一个字母改成小写。Age——age

如果第二个字母是大写,不用改。CPU——CPU


总之,一个类被当做JavaBean使用时,JavaBean的属性时根据方法名推断出来的,它根本看不到java类中的成员变量


一个符合JavaBean特点的类可以当作普通类一样进行使用,但当作JavaBean用肯定需要带来一些额外好处。

好处:

1.在JavaEE开发中,经常要使用到JavaBean,很多环境就要求按JavaBean方式进行操作。

2.JDK中提供了对JavaBean进行操作的一些API,这套API被称为内省。用这套内省API操作JavaBean,比用普通类更为方便。


	/**
	 * @param args
	 * @throws IntrospectionException 
	 * @throws InvocationTargetException 
	 * @throws IllegalAccessException 
	 * @throws IllegalArgumentException 
	 * @throws InstantiationException 
	 */
	public static void main(String[] args) throws Exception {
		Class clazz=BeanDemo.class;
		Object obj=clazz.newInstance();
		String propertyName="name";
		String value="xiaoqiang";
		setProperty(obj,propertyName,value);
		getProperty(obj,propertyName);
	}
	/**
	 * 通过内省的方法设置属性值 
	 * @param obj 属性所属的对象
	 * @param propertyName 属性名称
	 * @param value 需要设置的属性值
	 * @throws Exception
	 */
	private static void setProperty(Object obj, String propertyName,
			String value) throws Exception {
		PropertyDescriptor pd=new PropertyDescriptor(propertyName, obj.getClass());
		Method method=pd.getWriteMethod();
		method.invoke(obj, value);
	}
	/**
	 * 通过内省的方式获得属性值
	 * @param obj 属性所属的对象
	 * @param propertyName  属性名称
	 * @throws Exception
	 */
	public static void getProperty(Object obj, String propertyName) throws Exception  {
		PropertyDescriptor pd=new PropertyDescriptor(propertyName, obj.getClass());
		Method method=pd.getReadMethod();
		Object retVal=method.invoke(obj);
		System.out.println(retVal);
	}



AES-GCM加密认证模式:原理、优势与实战应用 在数据安全领域,加密与认证是保障信息机密性和完整性的两大基石。加密确保数据内容不被窃取,而认证则验证数据来源的真实性和传输过程中是否被篡改。传统的加密后认证方案如AES-CBC+HMAC需要串行处理,性能开销较大。GCM(伽罗瓦/计数器模式)作为一种认证加密(AEAD)方案,巧妙地将AES-CTR加密与基于伽罗瓦域的GHASH认证并行结合,实现了单次数据遍历即可同时完成加密和认证,大幅提升了处理效率。其核心价值在于高性能、支持附加认证数据(AAD)以及标准化程度高,广泛应用于TLS协议、无线网络安全和云存储 阅读详情

相关推荐

自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)

世界顶级自建邮局服务器PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮寄。可按每小时发送数近百万条电子邮件,发送IP地址和域可以详细配置,加上目前流行前端oem,mumara,mailwizz, interspire等,可定时发送,定时重复发送,实现全自动化 邮件群发 方案。 官网(powermta4.5下载) https://www.sparkpost.com/powermta/ 使用Po

ytrsexpo的博客 6501

JSP之JavaBean学习

JavaBean是有着特定规则的java类: 1.提供一个无参的构造函数(注意这个构造函数前面要写public。。。我因为这个原因找了一下午的错) 2.类中数据为private型(一般来说是这样,自己实验证明了下貌似什么属性都不影响是不是JavaBean类) 3.有着一系列对数据进行处理的get和set方法(这个是一定的,少了以后就会报错) 说一下用法: JavaBean类和普通的类一样,也可以在jsp页面里面用new创建,然后调用set,get方法都是可以的,但是这样就体现不出其特性 他有些特殊之处: 1

HJY 453

保姆级教程:用Python+NumPy手把手模拟光学散射与记忆效应(附代码)

本文提供了一份详细的Python+NumPy教程,手把手教你模拟光学散射与记忆效应。从基础光波建模到散射介质实现,再到菲涅尔衍射和光学记忆效应验证,逐步构建完整的仿真系统。通过附带的代码示例,读者可以快速掌握计算光学仿真的核心技术,为医学成像、物理仿真等领域的研究提供实用工具。

weixin_30172941的博客 323

JavaBean的三个特点

 JavaBean有三个特性:1、javaBean必须是一个public的类2、JavaBean有一个不带参数的构造函数,如果public类的构造函数包含参数的话,那这个类不能做为JavaBean3、JavaBean通过 getProperty获取属性,通过setProperty设置属性 声明JavaBean:使用JavaBean: 注意使用时的name属性要和

xiao_jun_0820的专栏 1万+

手把手教你玩转AT32F403A位带操作:像51单片机一样控制GPIO

本文详细介绍了如何在雅特力AT32F403A国产MCU上实现位带操作,像51单片机一样高效控制GPIO。通过实战演示和性能对比,展示了位带操作在实时控制中的优势,包括更快的执行速度和更低的延迟,特别适合工业控制和电机驱动等场景。

weixin_29234509的博客 285

在unity urp项目中 通过图片创建材质(透明光晕)

unity中通过图片创造材质(urp管道)

m0_49721415的博客 1537

标准的JavaBean应该具有的特点

一个标准的JavaBean应该具有如下几个特点   1、JavaBean必须是一个公开的类,也就是说JavaBean的类访问权限必须是public的。 2、JavaBean必须是具有一个无参数的构造方法。如果在JavaBean中定义了自定义的有参构造方法,就必须添加一个无参数构造方法,否则将无法设置属性,如果没有定义自定义的有参构造方法,则可以利用编译器自动添加的无参构造方法。 3、Ja...

weixin_33882452的博客 1247

Imagenet数据集1000类别中英文

英文 {0: 'tench, Tinca tinca', 1: 'goldfish, Carassius auratus', 2: 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias', 3: 'tiger shark, Galeocerdo cuvieri', 4: 'hammerhead, hammerhead shark', 5: 'electric ray, cram.

识物专栏 1800

对javabean的简单内省和复杂内省操作

1、对javabean的简单内省操作使用PropertyDescriptor类,它代表的javabean的属性,封装的是属性的信息代码示例:package cn.itcast.IntroSpector;import itcast.cn.Reflect.ReflectPoint;import java.beans.BeanInfo;import java.beans.Intr

zhuhezan的专栏 1079

数字电视中的AD(Audio Description)音频描述技术详解

AD(Audio Description)音频描述是一种辅助技术,旨在帮助视障人士更好地理解视觉内容。通过在节目或视频的自然停顿处插入额外的语音叙述来解释屏幕上的视觉信息,如人物动作、场景变化、文字说明等,从而让视力受损的人士也能获得完整的观影体验。AD服务不仅限于电视广播,也广泛应用于电影、剧院表演、在线视频平台等领域。PID:用于标识和区分不同的音频流。PMT表:提供每个音频流的详细信息,包括PID、编解码器类型和语言代码。时间戳:PTS和DTS用于同步音频与视频内容。解复用。

以实战经验介绍行业知识 739

Android 12 系统横屏时,开机动画有两秒显示不全

平板系统默认横屏时,开机会旋转90度,显示的分辨率WxH,会变成HxW.但又会很快被SurfaceFlinger的SurfaceFlinger::processDisplayChanged 娇正。所以为了保险,可以在开机动画没结束之前,禁止旋转事件。在Android 12 产品定制化开发中,由于系统默认方向为竖屏,平板电脑要横屏显示。系统在开机时,有时因为旋转,会出现动画只显示一部分。

448313096@qq.com 1174

JavaBean及内省

一,JavaBean是什么?JavaBean是一个遵循特定写法的Java类,它通常具有如下的特点: 1.这个Java类必须具有一个无参构造函数; 2.属性私有化; 3.私有化属性必须通过public类型的方法暴露给其他程序,并且方法的命名也必须遵守一定的命名规范。 JavaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件,其它程序可以通过反射技术实例化Jav

lapland的博客 680

工业产线瑕疵检测:基于 YOLO 的自动化质检系统实战

从工业瑕疵数据集构建到模型训练,从桌面检测界面到产线适用性优化,本文覆盖了一套工业质检系统的完整路线。这个场景的核心评价指标不是最高精度,而是在保证 recall ≥ 0.95 的前提下尽可能压低 false positive——因为漏检的直接成本(客户投诉、质量事故)远高于误报的成本(人工复检)。部署时先设一个偏低的置信度阈值确保覆盖,再通过持续收集人工复检数据来逐步调优。

m0_71589036的博客 65

JavaBean和内省

如要转载请标明作者zjrodger和出处:http://blog.youkuaiyun.com/zjrodger/,谢谢。

zjrodger的专栏 535

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java 内省、JavaBean、BeanUtils

内省       内省(IntroSpector)自我检查,主要对 JavaBean 进行操作。 内省是 Java 语言对 Bean 类属性、事件的一种处理方法(也就是说给定一个javabean对象,我们就可以得到/调用它的所有的get/set方法)。  JavaBean       (1)JavaBean 是一个特殊的 Java 类,它的方法名要符合一定的规则命名。例如

DriverKing 1720

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaBean内省

1、什么是JavaBean?    JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。   如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段

it_Shine的博客 639

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

——javaBean的讲解,及内省操作

什么是javaBean?  1,按照一定特殊规则编写的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。  2,如果要再两个模块之间传递多个信息,可以将信息封装到JavaBean中,这种JavaBean的实例对象 通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取 或设置字段的值,则需要通过一些相应的方法

qq_17045409的专栏 510

JAVABean的内省操作

一,简单内省操作 1.定义PropertyDescriptor 类的对象pd,new的时候传入属性名字,Class 2.pd调用getReadMethod.返回值是Method类型 3.Method调用invoke方法执行 package cn.itcast.pro; import java.beans.PropertyDescriptor; import java.lang.re

亚瑟的守护的专栏 791

javaBean内省类【javaBean、BeanInfo、Introspector、PropertyDescriptor】

javaBean内省类【javaBean、BeanInfo、Introspector、PropertyDescriptor】

伟庭的博客 1011

JavaBean内省与BeanInfo

Java的BeanInfo在工作中并不怎么用到,我也是在学习spring源码的时候,发现SpringBoot启动时候会设置一个属叫"spring.beaninfo.ignore",网上只能搜索到这个配置的意思是是否跳过java BeanInfo的搜索,没找到其他信息,但是BeanInfo又是什么呢? JavaBean介绍 维基百科JavaBean的定义:JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方

vx539413949的博客 295

Java之使用内省的方式操作JavaBean

import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; 使用内省的方式操作JavaBean /** * 获得对象的属性值 * ...

weixin_41974635的博客 242

java内省有什么作用_javabean以及内省技术详解

一、关于javabeanjavabean是固定写法的java类书写格式为:1)必须有无参构造函数2)属性必须私有, 我们称为字段3)提供标准的getter和setter例: name 字段 的getter: String getName() settter: void setName(String name)javabean例子://快捷键是shift+alt+spublic classUser{...

weixin_42126274的博客 377

JavaBean内省:认识JavaBean与内省、对JavaBean的内省操作、Beanutils工具包

-------android培训、Java培训、期待与您交流!------- 1  初识JavaBean与内省 JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。   如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(V

Rockray 1682

javabean中内省

内省 内省与反射的区别: 反射是在运行状态把java类中的各种成分映射成相应的java类,可以动态的获取所有的属性及动态调用任意一个方法,强调的是运行状态。 内省机制是通过反射来实现的,getBeanInfo()返回BeanInfo。BeanInfo 用来暴露一个bean的属性、方法、和事件,以后可以操作该JavaBean的属性。 获取思路之一:getBeanInfo()---- BeanInfo- ------》getPropertyDescriptors()—PropertyDescriptor[ ]—

weixin_43578122的博客 350

使用内省方式操作JavaBean

内省主要对JavaBean进行操作,JavaBean是一个特殊的Java类,该类中方法名符合特定的规则,我们一般是利用get,set方法来推断属性的名称,而不是直接根据属性来获得名称,因为属性都是私有的,而get,set方法都是共有的。 推断规则:如果第二个字母为小写,则首字母小写 getAge—>age setage—>age 由于自己根据方法名来推断属性名称非常麻烦,因此我们可以通过内省的方式来调用set,get方法 @Test public void test4() {

Tiger985的博客 323

内省与javaBean

高质量技术免费分享 https://blog.youkuaiyun.com/everyonetimeismoney/article/details/94412711 ★Java中的内省 为了让程序员们更好的操作Java对象的属性,SUN公司开发了一套API,被业界内称为:内省;内省的出现有利于对类对象属性的操作,减少了代码的数量。下面用一个小例子来印证一下。 我有一个Java...

wssjdysf1的专栏 846
上一篇: 枚举星期
下一篇: 类加载器
hy_programmer
博客等级 码龄12年 5粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值