私は Java Web 開発の初心者です。現在、私は JSF を使用していますが、JSF を使用すると、メソッド内でマネージド Bean を取得するのが非常に難しく、混乱します。そのため、ManagedBeans の代わりに Singletons を使用します。実際、アプリケーションのビューに関連する部分にのみ ManagedBeans を使用します。メソッドを呼び出したり、式言語を介してデータを取得したりする必要がある場合にのみ使用します。
これは私が今それを使用する方法です:
public void getSomeData(){
Connection connection = ConnectionFactory.getConnection();
//Retrieve the data from database
connection.close();
}
これは私がそれを使用したくない方法です:
public class SomeDAO{
@ManagedProperty(....)
private Connection connection;
public void getSomeData(){
Connection connection = ConnectionFactory.getConnection();
//Retrieve the data from database
connection.close();
}
}
ご覧のとおり、メソッド内のプールから接続を取得したいだけで、このメソッドが終了した後、conaction.close() を呼び出してプールに戻す必要があります。クラス プロパティを作成し、JSF ManagedProperty アノテーションを介してデータベース接続を挿入したくありません。DAO オブジェクトを 1 回だけ作成し、メソッドが呼び出されたときにのみ接続を消費するようにしたい。
これを JSF で実現するのはほとんど不可能だと思います。私は何か間違っていましたか?Spring 依存性注入は、この問題の解決に役立ちますか?
ご意見をお聞かせください。