JavaBeans to komponenty oprogramowania lub sekcje kodu wielokrotnego użytku dla programów napisanych w języku Java®. Zostały zaprojektowane tak, aby umożliwić programistom napisanie programu raz i uruchomienie go w dowolnym systemie. Te same JavaBeans mogą być używane do tworzenia wielu różnych programów. Aby pozostać przenośnym, JavaBeans musi przestrzegać pewnych konwencji programowania.
Język programowania Java® został opracowany w połowie lat 1990. przez Jamesa Goselinga z Sun Microsystems. Składnia jest podobna do składni języków programowania C i C++. Różni się od tych języków, ponieważ model obiektowy jest prostszy. Wielką zaletą języka Java® jest to, że programy napisane w języku Java® mogą działać na dowolnym systemie komputerowym bez zmian w kodzie.
JavaBeans™ pomaga zachować przenośność programów Java®. Są to w zasadzie kilka obiektów zgrupowanych razem, dzięki czemu można je przenosić jako grupę, a nie pojedynczo. Aby to osiągnąć, JavaBeans™ przestrzega pewnych konwencji w nazewnictwie, konstrukcji i zachowaniu.
Musi istnieć możliwość serializacji JavaBean™. Oznacza to, że można go przekonwertować na sekwencję bitów, dzięki czemu można go przechowywać w pliku lub przesyłać przez sieć. Inne nazwy tego procesu to spuszczanie powietrza i marszałkowanie. Aby użyć JavaBean™ po jego serializacji, należy go odtworzyć w procesie zwanym deserializacją lub pompowaniem.
Inną konwencją używaną przy pisaniu JavaBeans™ jest konstruktor nullary. Konstruktor to podprogram lub sekwencja zdarzeń wywoływana podczas tworzenia obiektu w celu przygotowania obiektu do użycia. Konstruktory zwykle akceptują parametry do ustawiania zmiennych obiektu. Konstruktor nullary nie akceptuje żadnych parametrów.
Aby zabezpieczyć się przed przypadkowymi lub uszkadzającymi kod zmianami zmiennych, zmienne w JavaBeans™ są ustawione na prywatne. Oznacza to, że są dostępne tylko dla funkcji należących do tej samej klasy lub dla tych, którym przyznano określony dostęp. Można je modyfikować tylko za pomocą publicznej funkcji składowej, która przyjmuje nową wartość jako parametr, a następnie modyfikuje zmienną prywatną. Podobny podprogram może zwrócić wartość prywatnej zmiennej składowej do autora kodu. Nazywa się to metodą pobierającą i ustawiającą lub metodą mutatora.
JavaBeans™ nie należy mylić z apletami. Aplety to miniaturowe programy internetowe, natomiast JavaBeans™ to komponenty wielokrotnego użytku, które można zestawiać w celu tworzenia programów. W niektórych przypadkach aplety można zaprojektować tak, aby spełniały funkcje podobne do JavaBeans™.