所以我有default
和dev
的两种配置,在每个配置中都有
@Bean
@Autowired
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}
现在我想在某个组件中注入像EntityManager
这样的
@Autowired
private EntityManager em;
但我正在接受
... required a single bean, but 2 were found:
- entityManager: defined by method 'entityManager' in class path resource ...
为什么默认情况下EntityManager
没有注入???
答案 0 :(得分:2)
default
和dev
maven个人资料?如果是,那么您应该使用@Profile
@Profile("dev")
@Configuration
public class DevConfig
或者,第二种方式 - 将其中一个bean标记为主要:
@Bean
@Primary
@Autowired
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}