JavaBeans su softverske komponente za višekratnu upotrebu, ili dijelovi koda, za programe napisane na jeziku Java®. Osmišljeni su tako da dopuštaju programerima da napišu program jednom i da ga izvedu na bilo kojem sustavu. Isti JavaBeans može se koristiti za stvaranje mnogo različitih programa. Kako bi ostao prenosiv, JavaBeans mora slijediti određene programske konvencije.
Programski jezik Java® razvio je sredinom 1990-ih James Goseling iz tvrtke Sun Microsystems. Sintaksa je slična onoj u programskim jezicima C i C++. Razlikuje se od ovih jezika jer je objektni model jednostavniji. Velika prednost jezika Java® je ta što se programi napisani u Javi® mogu izvoditi na bilo kojem računalnom sustavu bez promjena koda.
JavaBeans™ pomaže Java® programima da ostanu prenosivi. Oni su u osnovi niz objekata grupiranih zajedno tako da se mogu premještati kao grupa umjesto pojedinačno. Da bi se to postiglo, JavaBeans™ slijedi određene konvencije u imenovanju, konstrukciji i ponašanju.
JavaBean™ se mora moći serijalizirati. To znači da se može pretvoriti u slijed bitova tako da se može pohraniti u datoteku ili prenijeti preko mreže. Drugi nazivi za ovaj proces su ispuhivanje i maršaliziranje. Za korištenje JavaBean™ nakon što je serijaliziran, mora se rekonstituirati u procesu koji se naziva deserializacija ili napuhavanje.
Druga konvencija koja se koristi u pisanju JavaBeans™ je nullarni konstruktor. Konstruktor je potprogram ili slijed događaja koji se poziva prilikom kreiranja objekta kako bi se objekt pripremio za korištenje. Konstruktori obično prihvaćaju parametre za postavljanje varijabli objekta. Nularni konstruktor ne prihvaća nikakve parametre.
Radi zaštite od slučajnih promjena varijabli ili promjena koda koje oštećuju varijable, varijable u JavaBeans™ postavljaju se na privatne. To znači da su dostupne samo funkcijama koje su članovi iste klase ili onima kojima je odobren poseban pristup. Mogu se mijenjati samo pomoću javne funkcije člana, koja uzima novu vrijednost kao parametar, a zatim mijenja privatnu varijablu. Sličan potprogram može vratiti vrijednost varijable privatnog člana piscu koda. To se zove metoda dobivanja i postavljanja ili metoda mutatora.
JavaBeans™ se ne smije miješati s apletima. Apleti su minijaturni programi temeljeni na webu, dok su JavaBeans™ komponente za višekratnu upotrebu koje se mogu sastaviti za izradu programa. U nekim slučajevima, Appleti mogu biti dizajnirani da ispunjavaju slične funkcije kao JavaBeans™.