java的bean概念?

入坑几个月,到现在为止,还是不清楚,java的bean究竟是什么概念,查询过相关的问题,解释为一种规范,符合的都可以称为bean,其必须满足:
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
如果按照这么说的话,那在spring mvc里是否除了DAO以外,其它的都不能称之为bean呢?control?service?求解。

阅读 7k
6 个回答

JavaBean组件在web开发上的标准用途,主要是封装数据,并且维护这些数据,但在实际的开发中,通常只把JavaBean组件做为一个封装数据的组件,而把维护数据的工作后移,放到逻辑层和数据层去。“菩提旭光”给出的例子就是瘦身的JavaBean组件。

java bean就是一个java类。下面就是一个java bean,有自己的set get 方法。

public class WorkOrderSlaKey {
    
    private Integer id;

    private String isDeleted;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(String isDeleted) {
        this.isDeleted = isDeleted == null ? null : isDeleted.trim();
    }
}

你可以把 java bean 想象成一种模型。比如你描述一个人,或者某个动物,对于这种抽象的模型,在 java 中应该怎么定义,怎么写呢?
于是就有人提出了javabean 规范,规范就是你上面提到的那些必要条件。
所以你上面的概念其实是搞错了。

java的bean更像是一种规范,遵守这个规范就是bean。

你可以把bean理解为是描述具体对象而抽象出来的一个Java类,但是这个类是有一些规范的。
举例:描述一个人时,每个人都有一些属性(身高,体重,肤色,性别,年龄等等)
你想让别人获取这个人的性别,就给这个人设置一个getSex的方法。这些就是基本的描述信息。
在Java中万物皆对象!在Linux中万物皆文件!
但是,在实际开发中。JavaBean的作用就是用来对数据的操作。不单单是描述了就完事的。

为什么一定要有构造器?
因为大多数框架需要来实例化它
为什么要实现serializable接口?
因为供某些框架序列和反序列化操作
为什么要用private?
因为这个属性只属于这个JavaBean

PS:手机打字好累。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题