0

0

bean在java中的基础介绍

舞夢輝影

舞夢輝影

发布时间:2026-01-04 14:04:03

|

259人浏览过

|

来源于php中文网

原创

javabean是一套约定俗成的编码规范,要求类为public、含public无参构造器、属性private、提供符合驼峰命名的public getter/setter、推荐实现serializable接口,以支持反射识别与框架集成。

bean在java中的基础介绍

Bean在Java中不是框架,也不是语法关键字,而是一套约定俗成的编码规范,目的是让类更易被工具、容器或框架识别和操作。它本质就是一个普通Java类,但必须满足几个关键条件,才能被称为“JavaBean”。

JavaBean的核心要求

一个类要成为标准JavaBean,必须同时满足以下几点:

  • 类必须是public的,且文件名与类名严格一致
  • 必须有一个public无参构造方法(显式写出或依赖默认构造器)
  • 所有属性必须用private修饰,不能直接暴露字段
  • 每个属性需配套提供public的getter和setter方法,命名严格遵循驼峰规则(如getName()setName(String);布尔类型可用isActive()代替getActive()
  • 推荐实现java.io.Serializable接口,方便序列化(尤其在Web、分布式场景中几乎是必需的)

为什么需要JavaBean规范

这套规范本身不提供新功能,但它为自动化操作打下基础:

  • IDE能通过反射自动识别属性,在可视化编辑器中显示并设置值
  • JSP可通过<usebean></usebean>等标签直接使用,无需写Java代码实例化
  • Spring用它做依赖注入的基础单元,通过setter或构造器注入属性
  • MyBatis/Hibernate把JavaBean当POJO映射数据库表字段
  • Apache BeanUtils、Spring BeanWrapper等工具类,靠getter/setter动态读写属性,完全依赖这个规范

一个典型JavaBean示例

下面是一个符合全部规范的User类:

医院网站系统
医院网站系统

HTML医院网站系统基于PHP+MYSQL开发,在文章内容网站的基础上,预设了医院概况、新闻动态、环境设备、名医荟萃、专科介绍、就医指南、专家门诊值班表、网上挂号、医疗保健知识、在线咨询等医院网站常用的栏目和测试数据,采用适合医院网站的专用模版,增强了系统的针对性和易用性。系统具有文章、图文、下载、社区、表单、用户等基本系统模块和一系列网站辅助功能,用户也可根据自身特点任意创建和修改栏目,适合创建

下载

立即学习Java免费学习笔记(深入)”;

public class User implements java.io.Serializable {
    private Long id;
    private String name;
    private boolean active;

    public User() {} // 必须有无参构造

    // getter/setter(注意布尔类型isXXX的写法)
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public boolean isActive() { return active; }
    public void setActive(boolean active) { this.active = active; }
}

常见误区提醒

容易忽略但很关键的细节:

  • 没有无参构造器 → 反射创建实例会失败(Spring启动报错、JSP标签无法加载)
  • 属性名和getter/setter不匹配(比如字段叫userName,却写getName())→ 工具无法识别该属性
  • getter/setter访问权限不是public → 外部调用失败,内省(Introspector)机制失效
  • 把静态字段或final字段当作Bean属性 → 它们不参与属性发现,也不应出现在getter/setter中

基本上就这些。它不复杂,但每一条都是为了“可被发现、可被操作、可被复用”服务的。写对了,后续集成各种框架和工具才顺滑。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

149

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

85

2026.01.26

什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

402

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

249

2023.10.07

hibernate和mybatis有哪些区别
hibernate和mybatis有哪些区别

hibernate和mybatis的区别:1、实现方式;2、性能;3、对象管理的对比;4、缓存机制。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

154

2024.02.23

Hibernate框架介绍
Hibernate框架介绍

本专题整合了hibernate框架相关内容,阅读专题下面的文章了解更多详细内容。

91

2025.08.06

Java Hibernate框架
Java Hibernate框架

本专题聚焦 Java 主流 ORM 框架 Hibernate 的学习与应用,系统讲解对象关系映射、实体类与表映射、HQL 查询、事务管理、缓存机制与性能优化。通过电商平台、企业管理系统和博客项目等实战案例,帮助学员掌握 Hibernate 在持久层开发中的核心技能。

39

2025.09.02

Hibernate框架搭建
Hibernate框架搭建

本专题整合了Hibernate框架用法,阅读专题下面的文章了解更多详细内容。

71

2025.10.14

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

24

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4万人学习

C# 教程
C# 教程

共94课时 | 10.5万人学习

Java 教程
Java 教程

共578课时 | 75.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号