2017-08-02 24 views
1

にEntityManagerの特定のオートワイヤリングだから私はdefaultdevのための2つの設定があり、各構成では今、私はそうは春ブーツ設定

@Autowired 
private EntityManager em; 
よう EntityManagerを注入するために、いくつかのコンポーネントにしたい

@Bean 
    @Autowired 
    public EntityManager entityManager(EntityManagerFactory entityManagerFactory) { 
     return entityManagerFactory.createEntityManager(); 
    } 

があります

が届いていますが、私は受け取っています

デフォルトからEntityManagerが注入されないのはなぜですか?

+0

をあなたの構成の両方がロードされているように聞こえます、いいえ?彼らはプロフィールによって管理されていますか? 1つだけが選択されることをどのように意図していますか? – DaveyDaveDave

+0

各構成には@Profile( "...")があり、アクティブなプロファイルも設定されています。 – Bart

+0

@Bartプロファイルに言及するのに '--spring.profiles.active'を使用していますか? –

答えて

2

defaultdevメイプルプロファイルですか?はい、あなたは@Profile

@Profile("dev") 
@Configuration 
public class DevConfig 

あるいは、第二の方法使用して、すべてのプロファイルの設定を選択しなければならない場合 - マークプライマリとして豆の1:

@Bean 
@Primary 
@Autowired 
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) { 
    return entityManagerFactory.createEntityManager(); 
} 
+0

ありがとう@Nikolay – Oleksii