@BlancoInject アノテーション
仕様
適用箇所
アノテーション要素
詳細
- @BlancoInject アノテーションを使うと、必要な処理をおこなった注入済みのオブジェクトをメソッド・パラメータに注入することができます。
- @BlancoInject アノテーションのついたメソッドパラメータは呼び出しもとでは必要なく、呼び出し先のメソッドにおいてのみ生成して引き渡されます。
- @BlancoInject アノテーションのついたメソッドパラメータは、そのクラス型またはアノテーションにより注入の振る舞いが変化します。
- @BlancoInject アノテーションは、Blanco2g のなかでも特徴的で、しかも利用効果の高い機能です。ただし、あなたが理解するには少し手間と時間がかかることでしょう。
対応するクラス
特定のクラスを引数に注入
特定のクラスを引数に注入した場合、以下のような挙動が追加されます。
| 用途 | Java 型 | 説明 |
| Database | java.sql.Connection | メソッド呼び出し直前にデータベース接続をおこないます。 メソッドのパラメータにデータベース接続オブジェクトを注入します。 メソッド呼び出し直後にデータベースをロールバックのうえ解放します。 データベース・トランザクションの粒度にしたがい、適切な箇所でこのアノテーションを利用してください。 使用例その1 |
| JavaServer Faces | javax.faces.context.FacesContext | コンテキストを取得したメソッド・パラメータに注入します。 |
| JavaServer Faces | javax.el.ELContext | FacesContext からオブジェクトを取得したうえでメソッド・パラメータに注入します。 |
| JavaServer Faces | javax.el.ELResolver | FacesContext からオブジェクトを取得したうえでメソッド・パラメータに注入します。 |
特定のアノテーション付きクラス
特定のアノテーション付きクラスを引数に注入した場合、以下のような挙動が追加されます。
| 用途 | Java 型 | 説明 |
| Database | @BlancoGeneratedBy (name="blancoDb") | blancoDb が生成したクラスのオブジェクトをメソッド引数として注入 データベース接続を注入したオブジェクトをメソッドに注入します。また、メソッド呼び出し終了時に自動的に close() が実施されます。 |
| JavaServer Faces | @ManagedBean | JSF の ManagedBean オブジェクトを、メソッド引数に注入することができます。他オブジェクトを参照して利用したい場合にとても便利です。 使用例その1 |
リンク