2012-02-03 15 views
1

spring JDBCについての多くのチュートリアル/書籍では、RowMapperクラスは通常DAO内でprivate static final classと表され、インスタンスはすべての単一クエリで作成されます。 RowMapperはこのように使用してインスタンス化する必要がありますか?RowMapperクラスをSpring Beanとして定義することはできますか?

クラスを豆として定義するといいですか?@Component注釈と@Autowiredを私のDAOクラスに使用しますか?

どちらが優れていますか?

答えて

2

RowMapperはありません、それは単に一般的な使用パターンだ使用する必要があり、このように

をインスタンスありません。

私はDAOクラスに@Component注釈と@Autowiredそれを使用してのSpring BeanとしてRowMapperクラスを定義した場合、それは大丈夫ですか?

確かに動作します。 RowMapperが他のSpringサービスへのアクセスを必要としない限り、それほど重要なポイントはありません。

どれが良いですか?

あなたのコードを見ずにアプリケーションの使用感を感じることなく、わかりやすいかどうかはわかりませんが、あなただけがその選択をすることができます。

私の個人的な好みは、RowMapperをDAOクラスの非静的な内部クラスとして保持し、それをDAOから直接突き止めることです。 RowMapperが他のSpring Beanにアクセスする必要がある場合は、それらをDAOに入れて、内部クラスRowMapperからアクセスしてください。

+0

ありがとうございました。 –

関連する問題