Java Managed Bean Eğitimi

Java Oracle Logo

JAVA MANAGED BEAN YÖNETİMİ VE KULLANIMI

Java Server Faces Teknolojisinde Bussines Layer katmanını teşkil eden ve java – web page arası iletişimi sağlayan yönetim anotasyonlarını öğreneceksiniz.

Managed kullanımını aşağıda anlatmış bulunmaktayız, ancak örnek kodlamaya ulaşmak isterseniz github adresimden kodu temin edebilirsiniz.

https://github.com/muhammedali55/JavaEE_JSF_ManagedBeans_Scope

Managed Bean Nedir ?

Managed Bean, java kod tarafından yönetilen java bean sınıfıdır. Web Sayfaları ile veri iletişimini sağlayan; alıcı, ayarlayıcı ve iş katmanında yönetici pozisyonunda bulunan bir yönetim java sınıfıdır.

Menaged Bean ler, UI bileşenlerini Model olarak taşırlar ve JSF sayfaları tarafından erişilebilirler.

XML tarafında kurulabildiği gibi anotasyon olarak ta kullanılabilirler. Biz eğitimimiz içeriğinde kullanımı ve erişimi daha kolay olan anotasyon biçimini kullanacağız.

Managed Beans yapısı JSF 2.2 üzerinde tam olarak çalışır iken yeni sistem JSF 2.3 te kontrollü kullanıma çekilmiştir. Yani ilerleyen JSF sürümlerinde artık @ManagedBean yapısı kullanılmayacaktır. JSF 2.3 ile gelen @Named anotasyonu @ManagedBean in yerini almıştır. JSF 2.3 ile artık CDI api kullanılmaya başlanmıştır.

Biz bu eğitimimizde 2017 den butarafa hala geliştirme aşamasında olan CDI apiyi anlatmayacağız. Onun için ek eğitim içeriği oluşturulacaktır.

Managed Bean Kullanımı

@ManagedBean, üzerine eklendiği bir sınıfı yönetilebilir bir sınıf olması için işaretler.  Bu sayede jsf sayfalarından bu bean sınıflarına erişim sağlanabilir.

Name özelliği kullanılarak Jsf sayfasından erişim adı tanımlanır. Eğer name özniteliği tanımlanmaz ise örnek sınıfımız için isimlendirme indexBean şeklinde olacaktı.

Eager özelliği, bir managed sınıfının oluşturulma ve bağlanma zamanını tanımlar eğer eager=true ise ilgili sınıf jsf sayfaları talep edilmeden önce oluşturulur, aksi takdirde jsf sayfası ilgili managed sınıfını talep ettiğinde bu sınıf oluşturulur.(lazy load)

Managed Bean Class Kullanımı

Scope Annotation Kullanımı Nasıl yapılır  ?

Managed bean lerin kapsamının tanımlarlar, altı(6) farklı tanımlama içerir. Programcı kullanım amacına göre scope ı belirler.

  1. @RequestScoped, Bean sınıfının jsf sayfasından request(istek) aldığı sürece yaşamasını garanti eder istek bittiğinde yok olur.
  2. @NoneScoped, Jsf sayfası oluşturulurken yaratılan EL bileşenlerinin işlemleri süresince çalışır sayfa yüklenince sona erer.
  3. @ViewScoped, Tarayıcı üzerinde ilgili jsf sayfası ile etkileşimde olan kullanıcının etkileşimi sona erinceye kadar devam eder. Kullanıcı başka bir  sekmeye yada sayfaya yönlendiğinde sona erer.
  4. @SessionScoped, Bizim en çok kullandığımız kullanıcı girişlerini kontrol altında tuttuğumuz Bean sınıfları oluşturmamıza yarayan scope tur. Her web page için ayrı ayrı oluşturulur ve oturum açılır. Kullanıcı oturumu sona erdirdiğinde yok olur.
  5. @ApplicationScoped, bir web uygulaması çalıştığı sürece yaşayan bean yapıları oluşturmak için kullanılır.
  6. @CustomScoped, programcı tarafında oluşturulan sınırlar

içerisinde yaşamını sürdüren Bean sınıflarını tanımlar.

 

Örnek Uygulama Kullanımı

Managed Bean Proje Açılımı

 

Managed Bean Web Sayfası Çıktısı