Что такое Java-компонент? - программирование

Что такое Java-компонент?

Возможный дубликат:
В чем смысл beans?

Что такое джаваб? Для чего его используют? И какие примеры кода? Я слышал, что он используется для чего-то общего с методами getter и setter? Я довольно смущен тем, что есть java bean и где вы даже обращаетесь к нему. Я искал ее, но не смог найти определенного ответа.

4b9b3361

Ответ 1

Java Bean - обычный Java-класс, который имеет частные свойства с его общедоступным методом getter и setter.

Java Beans обычно используется как вспомогательный класс.

Пример -

public class User implements java.io.Serializable {

    private String name;
    private Integer age;

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

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

    public Integer getAge(){
        return this.age;
    }

    public void setAge(Integer age){
        this.age = age;
    }
}

Реализация Serializable не является обязательной, но очень полезна, если вы хотите сохранить или перенести Javabeans за пределы памяти Java, например. в жестком диске или в сети.

Места, где используются JavaBeans?

Ответ 2

JavaBeans - многоразовые программные компоненты для Java. Практически это классы, написанные на языке программирования Java, соответствующие определенному соглашению. Они используются для инкапсуляции многих объектов в один объект (bean), так что они могут передаваться как один объект bean, а не как несколько отдельных объектов. JavaBean - это Java-объект, который является сериализуемым, имеет конструктор с 0 аргументами и позволяет получить доступ к свойствам с использованием методов getter и setter.

Преимущества

  • A bean получает все преимущества Java "пишите один раз, выполняйте где угодно" парадигму.
  • Можно управлять свойствами, событиями и методами bean, которые могут быть открыты для другого приложения.
  • Дополнительное программное обеспечение может быть предоставлено для настройки Bean.
  • Настройки конфигурации bean могут быть сохранены в постоянном хранилище и могут быть восстановлены позднее.
  • A bean может регистрироваться для приема событий от других объектов и может генерировать события, которые ему отправляются.

Недостатки

  • Класс с нулевым конструктором подлежит экземпляру в недопустимом состоянии. Если такой класс создается вручную разработчиком (а не автоматически с помощью какой-либо структуры), разработчик может не понимать, что он создал экземпляр класса в недопустимом состоянии. Компилятор не может обнаружить такую ​​проблему, и даже если ее документально подтвержден, theres не гарантирует, что разработчик увидит документацию.
  • Чтобы создать геттер для каждого свойства и сеттер для многих, большинства или всех из них, создает огромное количество шаблонов.

Пример:

package beans;

/**
 * Class <code>PersonBean</code>.
 */
public class PersonBean implements java.io.Serializable {

    private String name;

    private boolean deceased;

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

    /**
     * Property <code>name</code> (note capitalization) readable/writable.
     */
    public String getName() {
        return this.name;
    }

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

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

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

обратитесь http://en.wikipedia.org/wiki/JavaBeans

Ответ 3

Ну, API JavaBean определяет ряд соглашений относительно JavaBeans. Согласно Википедии:

Необходимые соглашения заключаются в следующем:

  • Класс должен иметь открытый конструктор по умолчанию (без аргумента). Это позволяет легко создавать экземпляры в рамках редактирования и активации.
  • Свойства класса должны быть доступны с помощью get, set, is (используется для логических свойств вместо get) и других методов (так называемых методы доступа и методы мутаторов), следуя стандартным именованиям условность. Это позволяет легко автоматизировать проверку и обновление beanсостояния в рамках, многие из которых включают пользовательские редакторы для различные типы свойств. Setters должны принимать только один аргумент.
  • Класс должен быть сериализуемым. Это позволяет приложениям и фреймворкам надежно сохранять, сохранять и восстанавливать состояние bean в мода, независимая от виртуальной машины и платформы.

Довольно часто это наиболее распространенные типы классов, которые можно найти в приложении, поскольку они могут использоваться для моделирования используемых данных. Пример такого bean можно увидеть ниже:

public class Person implements Serializable
{
  private String name;
  private boolean alive;

  public Person()
  {
    // constructor logic...
  }

  public String getName()
  {
    return name;
  }

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

  public boolean isAlive()
  {
    return alive;
  }

  public void setAlive(boolean alive)
  {
    this.alive = alive;
  }
}

Как вы можете видеть, свойства отражаются в геттерах и сеттерах.

НТН

Ответ 4

Если вы говорите о java- beans и НЕ EJB Beans, то вот объяснение...

1. JavaBean имеет конструктор, который не принимает аргументов.

2. JavaBean имеет набор свойств.

3. JavaBean имеет методы доступа (getXxx или isXxx для логических свойств) и методы mutator (setXxx), которые позволяют получить доступ к его базовым свойствам.

Третья точка указывает класс java с частными переменными экземпляра и общедоступным getter, setter.

например:

import java.util.Date;

public class User {
    private Date loginDate;
    private String name;
    private String password;

    public User() { }

    public Date getLoginDate() {
        return loginDate;
    }

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

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

    public void setPassword(String password) {
        this.password = password;
    }

    public void delete() {
        // code to delete user from database
    }

    public void update() {
        // code to update user in database
    }

    public static User getUser(String name) {
        // code returning a new User object
        // populated from the database
    }
}