Java DAO类具有相同的@Qualifier
我有一个网站的源代码 这个网站使用spring,我对它的注入感到困惑 有一些DAO类,在这些DAO上有一个限定符:Java DAO类具有相同的@Qualifier,java,spring,Java,Spring,我有一个网站的源代码 这个网站使用spring,我对它的注入感到困惑 有一些DAO类,在这些DAO上有一个限定符: @Repository("myDao") @Qualifier("myTransactionManager") public class MyCategoryDao { } 但也有另一个bean具有相同的限定符名称 这个bean是一个JpaTransactionManager @Configuration @EnableTransactionManagement(mode =
@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具有相同的名称/限定符
它是否会与其他名称冲突?Spring将首先检查类型,如果有任何歧义,则只检查@Qualifier中指定的名称。在您的例子中,这两个bean的类型是不同的,因此应该可以正常工作。Spring将首先检查类型,如果有任何歧义,则只检查@Qualifier中指定的名称。在您的例子中,这两个bean的类型都不同,所以应该可以正常工作。但是不同的类型但是不同的类型有10多个DAO类具有相同的限定符。那么,我可以删除DAO上的这些限定符吗?这些似乎没用。我只是担心资格赛与JpaTransactionManager有关。谢谢。有10多个DAO类具有相同的限定符。那么,我可以删除DAO上的这些限定符吗?这些似乎没用。我只是担心资格赛与JpaTransactionManager有关。谢谢