2016-12-24 4 views
-1

Why field injection is evilに関しては、フィールド注入の代わりにSpringアプリケーションの構築注入を使用したいと思います。構成注入とJPAリポジトリ

私の質問 - JPAリポジトリを挿入する方法 - Beanとしてインスタンス化されていないインスタンス(私の@Service beanに)を取得する場所?

答えて

0

コンストラクタインジェクションを使用できます。
反射によるフィールド注入の欠点はありません。ここで いいえ、私はJPAリポジトリのインスタンスを取得する場所を知っている必要がありSpring

@Service 
public class FooService { 

    private final FooRepository repository; 

    @Autowired 
    public FooService(FooRepository repository) { 
     this.repository = repository 
    } 
} 
+0

の例である、私は別のBeanのインスタンスを作成していたとき、私は1つを必要とします。 '@Bean FooService fooService(){新しいFooServiceを返します({jpaリポジトリインスタンス}); } ' – Artegon

+1

この場合、fooServiceにメソッドパラメータを追加します。 '@Bean FooService fooService(FooRepository repository){}'。 Springは自動的にそこにリポジトリを挿入します。 – dunni

関連する問題