stringtranslate.com

JavaBeans

В области вычислений на базе платформы Java JavaBeans — это технология, разработанная компанией Sun Microsystems и выпущенная в 1996 году как часть JDK 1.1.

«Бины» JavaBeans — это классы, которые инкапсулируют один или несколько объектов в один стандартизированный объект (бин). Эта стандартизация позволяет обрабатывать бины более общим образом, что упрощает повторное использование кода и интроспекцию . Это, в свою очередь, позволяет рассматривать бины как программные компоненты и визуально манипулировать ими с помощью редакторов и IDE без необходимости какой-либо начальной настройки или знания каких-либо внутренних деталей реализации.

В рамках стандартизации все компоненты должны быть сериализуемыми , иметь конструктор с нулевым аргументом и разрешать доступ к свойствам с помощью методов getter и setter .

Функции

Самоанализ
Интроспекция — это процесс анализа Bean для определения его возможностей. Это существенная особенность спецификации Java Beans, поскольку она позволяет другому приложению, например, инструменту проектирования, получать информацию о компоненте.
Характеристики
Свойство — это подмножество состояния Bean. Значения, назначенные свойствам, определяют поведение и внешний вид этого компонента. Они устанавливаются с помощью метода-сеттера и могут быть получены с помощью метода-геттера.
Настройка
Настройщик может предоставить пошаговое руководство, которому необходимо следовать для использования компонента в определенном контексте.
События
Компоненты Beans могут взаимодействовать с моделью EventObject EventListener. [ необходимо разъяснение ]
Упорство
Сохранение — это возможность сохранять текущее состояние компонента, включая значения свойств компонента и переменных экземпляра, в энергонезависимом хранилище и извлекать их позднее.
Методы
Bean должен использовать методы доступа для инкапсуляции свойств. Bean может предоставлять другие методы для бизнес-логики, не связанные с доступом к свойствам.

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

Недостатки

API JavaBeans

Функциональность JavaBeans обеспечивается набором классов и интерфейсов в java.beansпакете.

Соглашения JavaBean

Чтобы функционировать как класс JavaBean , класс объекта должен подчиняться определенным соглашениям об именовании методов, построении и поведении. Эти соглашения позволяют иметь инструменты, которые могут использовать, повторно использовать, заменять и подключать Java Beans.

Требуются следующие соглашения:

Пример кода

проигрыватель пакетов ; открытый класс PersonBean реализует java . io . Serializable {      /** Свойства **/ private boolean died = false ;      Список частных лиц ;   /** Свойство "name", доступно для чтения/записи. */ private String name = null ;      /** Конструктор без аргументов (не принимает аргументов). */ public PersonBean () { }     public List getList ( ) { return list ; } public void setList ( final List list ) { this.list = list ; }                 /**  * Геттер для свойства "name".  */ public String getName () { return name ; }        /**  * Сеттер для свойства "name".  *  * @param value  */ public void setName ( final String value ) { this . name = value ; }           /**  * Геттер для свойства "deceased"  * Другой синтаксис для логического поля (is и get)  */ public boolean isDeceased () { return died ; }        /**  * Сеттер для свойства "умерший".  * @param value  */ public void setDeceased ( boolean value ) { died = value ; } }         

TestPersonBean.java:

импортировать player.PersonBean ; /** * Класс "TestPersonBean". */ public class TestPersonBean { /**  * Метод тестера "main" для класса "PersonBean".  *  * @param arguments  */ public static void main ( final String [] arguments ) { final PersonBean person = new PersonBean ();                  person.setName ( "Боб " ) ; person.setDeceased ( false ) ; person.setList ( new ArrayList ( ) ) ;    // Вывод: "Боб [жив]" System.out.print ( person.getName ( ) ) ; System.out.println ( person.isDeceased ( ) ? " [ умер ]" : " [ жив ] " ); } }       
<jsp:useBean id= "person" class= "player.PersonBean" scope= "page" /> <jsp:setProperty name= "person" property= "*" />     <html> <body> Имя: <jsp:getProperty name= "person" property= "name" /><br/> Умер? <jsp:getProperty name= "person" property= "deceased" /><br/> <br/> <form name= "beanTest" method= "POST" action= "testPersonBean.jsp" > Введите имя : <input type= "text" name= "name" size= "50" ><br/> Выберите вариант : <select name= "deceased" > <option value= "false" > Жив </option> <option value= "true" > Мертв </option> </select> <input type= "submit" value= "Test the Bean" > </form> </body> </html>                                    

Смотрите также

Ссылки

  1. ^ ab Bloch, Joshua (2008). Effective Java (Второе издание). Addison-Wesley. стр. 13. ISBN 978-0-321-35668-0.

Внешние ссылки