[Subsonic Airlines] 会員登録画面 – バッキングビーンの作成2

バッキングビーンの説明の第2回です。

これまでの記事
設定ファイルの作成
http://subsonic.info/ja/2015/08/23/subsonic-airlines-会員登録画面-設定ファイルの作成/

テンプレートの作成
http://subsonic.info/ja/2015/08/27/subsonic-airlines-会員登録画面-テンプレートの作成/

トップ画面の作成
http://subsonic.info/ja/2015/08/28/subsonic-airlines-会員登録画面-トップ画面の作成/

入力画面の作成
http://subsonic.info/ja/2015/08/31/subsonic-airlines-会員登録画面-入力画面の作成/

バッキングビーンの作成1
http://subsonic.info/ja/2015/09/03/subsonic-airlines-会員登録画面-バッキングビーンの作成1/

ソースコード
https://github.com/subsonicsystems/subsonic-airlines-members

CDI
Contexts and Dependency Injection for Java EE(CDI)を使うと、オブジェクトに自動的に依存関係を持たせることができます。

31行目のuserServiceには、@Injectが付けられています。このアノテーションが付けられるとCDIの機能によって、userServiceにUserServiceクラスが注入されます。

/**
 * The UserService.
 */
@Inject
private UserService userService;

すなわち、userService = new UserService()としなくても最初からUserServiceクラスが使える状態になります。

@PostConstruct
コンテナがバッキングビーンのインスタンスを作成する際に、@PostConstructの付いたメソッドを呼び出します。

/**
 * The User.
 */
private User user;
/**
 * Initializes.
 */
@PostConstruct
public void init() {
    user = new User();
}

ここではinitメソッドに@PostConstructを付けているので、インスタンスの作成時にinitメソッドが実行されます。initメソッドは、userフィールドを初期化しています。

次回に続きます。