有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DAO类具有相同的@Qualifier

我有一个网站的源代码

这个网站使用spring,我对它的注入感到困惑

有一些DAO类,在这些DAO上有一个限定符:

@Repository("myDao")
@Qualifier("myTransactionManager")
public class MyCategoryDao {

}

但也有另一个bean具有相同的限定符名称

这个bean是一个JpaTransactionManager

@Configuration
@EnableTransactionManagement(mode = AdviceMode.PROXY)
@ComponentScan(basePackages = "com.my.repository")
public class DatabaseConfig {
    @Primary
    @Bean(name = "myTransactionManager")
    public JpaTransactionManager jpaTransactionManager(
    @Named("myEntityManagerFactory") EntityManagerFactory entityManagerFactory) {

    }
}

我不知道为什么bean和dao具有相同的名称/限定符

这不会和其他的冲突吗


共 (1) 个答案

  1. # 1 楼答案

    Spring将首先检查类型,如果有任何歧义,则只检查@Qualifier中指定的名称。在您的例子中,这两种bean的类型不同,所以应该可以正常工作