Sekali ngejawab 2 email, sekali teguk minum banyak, maksud gw kayak gini :
ini adalah object webbeans
public class Dobo{
}
lihat betapa dobo dan pojonya kelas ini, tapi dia adalah webbeans ! heheheh
dia adalah webbeans !
nah kalau gw tambahin
public class Dobo{
private Date now;
}
nah sekarang si dobo butuh date, ok dimana gw bisa dapetin si date now ?? Di
suatu waktu gw buat
public class Pojo{
public Date ngeDate(){
return new Date()
}
}
nah sekarang ada 2 webbeans, tapi webbeans Pojo mau gw deklarsikan bahwa
ngeDate adalah untuk di inject kedalam Dobo now,
Ok sekarang gw butuh deklarsikan bahwa ngeDate ini boleh digunakan oleh
webbeans, jadi gw berikanlah @Producer
public class Pojo{
@Producer public Date ngeDate(){
return new Date()
}
}
Ok sekarang pojo mengasilkan object Date, nah sekarang bagaimana caranya
supaya Dobo now bisa di inject oleh object date yg tepat, misalkan di
webbeans kita mendeklarsikan ratusan date ??
Sekarang kita butuh annotation binding
@BindingType
public @interface DateNow{}
kita tempelin @DateNow ke ngeDate
public class Pojo{
@Producer @DateNow public Date ngeDate(){
return new Date()
}
}
dan di Dobo jadi
public class Dobo{
@DateNow
private Date now;
}
Eureka !!! ini adalah injection yg mantap. Ini artinya apa ?? ini artinya
dalam aplikasi kita, benar2 bersih, tidak perlu lagi deklarsikan context.xml
:) mantep banget ga tuh !. Tentu aja ini bukan sample yg sempurna, masih ada
scope, dan deployment type yg berhubungan dengan webbeans, tapi ini contoh
super sederhananya.
Sebab semua object adalah webbean !
2008/11/14 Thomas Wiradikusuma <[EMAIL PROTECTED]>
> > Ini masih dalam cara berfikir Spring, semuanya text based, sekali lagi
> > diperhatikan webbeans tidak perlu deklarasikan XML buat inject2an.
>
> well, my boss still want configuration in non-class file.
>
> > Jawabannya jelas bisa, bahkan bisa diambil dari mana aja,
>
> can you show us example how to do that precise thing?
>
> --
> salam hangat,
> Thomas Wiradikusuma
> http://wiradikusuma.blogspot.com/2008/11/congratulations-america.html
>
>