Mam więc dwie konfiguracje default
i dev
aw każdej konfiguracji jest a
@Bean
@Autowired
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}
Teraz chcę w jakimś komponencie wstrzyknąć EntityManager
tak jak
@Autowired
private EntityManager em;
ale ja odbieram
... required a single bean, but 2 were found:
- entityManager: defined by method "entityManager" in class path resource ...
Dlaczego EntityManager
z domyślnego nie jest wstrzykiwany ???
Odpowiedzi:
2 dla odpowiedzi № 1Są default
i dev
profile maven? Jeśli tak, powinieneś wybrać konfigurację dla każdego profilu przy użyciu @Profile
@Profile("dev")
@Configuration
public class DevConfig
Albo drugi sposób - oznacz jedną fasolę jako podstawową:
@Bean
@Primary
@Autowired
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}