JavaBean nedir?
Java Bean çokça karşımıza çıkan bir yapıdır. Aslında Java Beanleri bildiğimiz Java sınıflarıdır. Ancak bir sınıfın bean sınıfı olabilmesi için bazı kurallara uyması gerekir.
1- java.io.Serializable arayüzünü implement etmelidir.
2- Parametre almayan default constructorı olmalıdır.
3- Tüm değişkenleri private tanımlanmalıdır.
4- Private tanımlı değişkenlere erişim için get set metotları olmalıdır.
5- İçerisinde iş yapan başka bir metot olmamalıdır.
Tüm bu özellikleri sağlayan sınıflara Java Bean sınıfları denir. Bean sınıfları çok katmanlı uygulamalarda katmanlar arasındaki iletişimi gerçekleştirmek için ve veri taşımak için kullanılır.
Veri tabanına bağlanan ve sorgu sonuçlarını kullanıcıya döndüren bir uygulamada katmanlar içerisindeki sınıflar birbirlerinin metotlarını çağırırlar. Bu metotlar birbirini çağırırken de parametre gönderir, dönen sonuçları da kendilerini çağrılan yere döndürüler. Birçok özelliği bulunan bir tablonun tüm değerlerini tek tek parametre olarak göndermektense bu değerleri bir bean sınıfında saklayarak bean sınıfını geri göndermek daha mantıklı olacaktır.
Örnek bir bean sınıfı yazalım :
PHP- Kodu:
[/LEFT][/CODE]
Not : Default constructor yazılmadığında yazılmış varsayıldığından kodda bir daha tanımlamadık. Ancak başka bir constructor olsaydı o zaman mutlaka içerisinde iş yapan kod olmasa bile default constructorı yazmamız gerekirdi.
Java Bean çokça karşımıza çıkan bir yapıdır. Aslında Java Beanleri bildiğimiz Java sınıflarıdır. Ancak bir sınıfın bean sınıfı olabilmesi için bazı kurallara uyması gerekir.
1- java.io.Serializable arayüzünü implement etmelidir.
2- Parametre almayan default constructorı olmalıdır.
3- Tüm değişkenleri private tanımlanmalıdır.
4- Private tanımlı değişkenlere erişim için get set metotları olmalıdır.
5- İçerisinde iş yapan başka bir metot olmamalıdır.
Tüm bu özellikleri sağlayan sınıflara Java Bean sınıfları denir. Bean sınıfları çok katmanlı uygulamalarda katmanlar arasındaki iletişimi gerçekleştirmek için ve veri taşımak için kullanılır.
Veri tabanına bağlanan ve sorgu sonuçlarını kullanıcıya döndüren bir uygulamada katmanlar içerisindeki sınıflar birbirlerinin metotlarını çağırırlar. Bu metotlar birbirini çağırırken de parametre gönderir, dönen sonuçları da kendilerini çağrılan yere döndürüler. Birçok özelliği bulunan bir tablonun tüm değerlerini tek tek parametre olarak göndermektense bu değerleri bir bean sınıfında saklayarak bean sınıfını geri göndermek daha mantıklı olacaktır.
Örnek bir bean sınıfı yazalım :
PHP- Kodu:
Kod:
[LEFT][CODE][COLOR=#000000] [COLOR=#0000BB] package com[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]infopark[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]spor[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000BB]import java[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]io[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Serializable[/COLOR][COLOR=#007700];
public class [/COLOR][COLOR=#0000BB]Futbolcu [/COLOR][COLOR=#007700]implements [/COLOR][COLOR=#0000BB]Serializable [/COLOR][COLOR=#007700]{
private static final [/COLOR][COLOR=#0000BB]long serialVersionUID [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]1279040780310956706L[/COLOR][COLOR=#007700];
private [/COLOR][COLOR=#0000BB]String adi[/COLOR][COLOR=#007700];
private [/COLOR][COLOR=#0000BB]String soyadi[/COLOR][COLOR=#007700];
private [/COLOR][COLOR=#0000BB]int yasi[/COLOR][COLOR=#007700];
public [/COLOR][COLOR=#0000BB]String getAdi[/COLOR][COLOR=#007700]() {
return [/COLOR][COLOR=#0000BB]adi[/COLOR][COLOR=#007700];
}
public [/COLOR][COLOR=#0000BB]void setAdi[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]String adi[/COLOR][COLOR=#007700]) {
[/COLOR][COLOR=#0000BB]this[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]adi [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]adi[/COLOR][COLOR=#007700];
}
public [/COLOR][COLOR=#0000BB]String getSoyadi[/COLOR][COLOR=#007700]() {
return [/COLOR][COLOR=#0000BB]soyadi[/COLOR][COLOR=#007700];
}
public [/COLOR][COLOR=#0000BB]void setSoyadi[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]String soyadi[/COLOR][COLOR=#007700]) {
[/COLOR][COLOR=#0000BB]this[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]soyadi [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]soyadi[/COLOR][COLOR=#007700];
}
public [/COLOR][COLOR=#0000BB]int getYasi[/COLOR][COLOR=#007700]() {
return [/COLOR][COLOR=#0000BB]yasi[/COLOR][COLOR=#007700];
}
public [/COLOR][COLOR=#0000BB]void setYasi[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]int yasi[/COLOR][COLOR=#007700]) {
[/COLOR][COLOR=#0000BB]this[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]yasi [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]yasi[/COLOR][COLOR=#007700];
}
} [/COLOR][/COLOR]
Not : Default constructor yazılmadığında yazılmış varsayıldığından kodda bir daha tanımlamadık. Ancak başka bir constructor olsaydı o zaman mutlaka içerisinde iş yapan kod olmasa bile default constructorı yazmamız gerekirdi.