/ / Spring Boot autowiring menedżera uprawnień specyficznego dla konfiguracji - java, spring, jpa, authorymanager

Spring Boot - autowiring dla programu do wyboru, który jest właściwy dla konfiguracji - java, spring, jpa, employeemanager

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 № 1

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();
}