0 امتیاز
قبل در برنامه نویسی توسط (9 امتیاز)
برچسب گذاری دوباره قبل توسط
JavaBean چیست؟ در چه مواردی کاربرد دارد؟

1 پاسخ

+3 امتیاز
قبل توسط (938 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

تعریف:

یک استاندارد برای نوشتن کلاس است که باید قواعد زیر را رعایت کند:

  1. همه فیلدهایش بصورت private تعریف شوند.(دسترسی read و write با کمک متدهای setter و getter).
  2. اینترفیس serializble را implement کند.
  3. یک constructor بدون هیچ پارامتر ورودی و public داشته باشد.

از اونها به عنوان کامپوننت های نرم افزاری با قابلیت استفاده مجدد نیز نام برده میشود(reusable software component)

مزایا:

وقتی یک کلاسی seializable رو پیاده سازی کرد میتواند بصورت  stream of bytes در شبکه منتقل شود (deserialize/serialize).

کاربرد:

این نوع کلاس ها میتوانند به عنوان objectهای متناظر با جداول پایگاه داده در فریمورک های آن استفاده شوند(DAO).در JSP و دیگر فریمورک های web به عنوان کلاس های کنترل کننده صفحات به کار میروند.

بصورت کلی فریمورک های MVC و ORM از java bean به عنوان یک کلاس استاندارد برای مدل کردن اشیا واقعی استفاده میکنند.مانند : Spring , Hibernate , JSF , JPA و ...

ابزارهای مفیدی وجود دارند که داده های از نوع java bean را بصورت اتوماتیک به نوع هایی محبوبی مانند XML , JSON , CSV و .. تبدیل میکنند(و بلعکس)

مثال

public class PersonBean implements java.io.Serializable {

    /**
     * Property <code>name</code> (note capitalization) readable/writable.
     */
    private String name = null;

    private boolean deceased = false;

    /** No-arg constructor (takes no arguments). */
    public PersonBean() {
    }

    /**
     * Getter for property <code>name</code>
     */
    public String getName() {
        return name;
    }

    /**
     * Setter for property <code>name</code>.
     * @param value
     */
    public void setName(final String value) {
        name = value;
    }

    /**
     * Getter for property "deceased"
     * Different syntax for a boolean field (is vs. get)
     */
    public boolean isDeceased() {
        return deceased;
    }

    /**
     * Setter for property <code>deceased</code>.
     * @param value
     */
    public void setDeceased(final boolean value) {
        deceased = value;
    }
}

 

قبل توسط (242 امتیاز)
لطفا در مورد پکیج java.beans هم توضیح دهید.

سوالات مشابه

0 امتیاز
1 پاسخ 38 بازدید
0 امتیاز
0 پاسخ 38 بازدید
0 امتیاز
0 پاسخ 83 بازدید
+1 امتیاز
1 پاسخ 198 بازدید
سوال شده 2 سال قبل در برنامه نویسی توسط masoud shahhosseini_ (45 امتیاز)
+1 امتیاز
1 پاسخ 667 بازدید
+1 امتیاز
0 پاسخ 901 بازدید
+1 امتیاز
1 پاسخ 474 بازدید
...