JavaWeb-BeanUtils
一.BeanInfo
1.BeanInfo是JavaBean类的信息类,一个javaBean的信息封装在对应beanInfo对象中
2.要获取到beanInfo,一般通过一个内省类Introspector的一个方法getBeanInfo(Class<T> beanClass),给个javaBean的类型就会返回对应的beanInfo对象,该方法的底层就是通过反射实现的
3.Bean常用的方法:
1.MethodDescriptor[] getMethodDescriptors():获取到javaBean对象的方法描述符对象的数组,
2.PropertyDescriptor[] getPropertyDescriptors():获取到javaBean对象的属性描述符对象的数组,有了PropertyDescriptor对象我们就可以获取到读写(get/set)的方法了,有了方法我们就可以通过反射来调用该方法了
3.流程如图:
二.BeanUtils
1.有两个jar包已经封装好了上面内省的机制:
commons-beanutils(里面依赖的是内省)和commons-logging两个jar包,所以上面流程图的操作不需要我们做了
2.beanUtils下有三个方法非常方便:
(1)void setProperty(bean, name, value):第一个参数是javaBean对象,二是属性名,三是属性值
(2)String getProperty(bean, name):第一个参数是javaBean对象,二是属性名
(3)void populate(bean, map):把一个map的属性封装到bean对象中,map的Key属性名必须跟bean中属性的名称一样,两者都相同
3.当对javaBean对象操作时,很多时候我们会用到BeanUtils
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~