26.2. Spring Bean を Seam コンポーネントにインジェクトする
EL 式を使用するか Spring Beam を Seam コンポーネントにすることで Spring Bean を Seam コンポーネントのインスタンスにインジェクトすることができます。
最も容易な方法は EL を使って Spring Bean にアクセスすることです。
Spring の
DelegatingVariableResolver は Spring の JavaServer Faces (JSF) との統合に役立ちます。 この VariableResolver は Bean ID を持つ EL を使って Spring Bean を JSF に対して利用できるようにします。 DelegatingVariableResolver を faces-config.xml に追加する必要があります。
これで
@In を使って Spring Bean をインジェクトできるようになります。
@In("#{bookingService}")
private BookingService bookingService;
@In("#{bookingService}")
private BookingService bookingService;
Spring Bean はインジェクションに限定されません。プロセスとページフロー定義、 ワーキングメモリのアサーションなど、Seam で EL 式が使用されていれば常に Spring Bean を使用することができます。