Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @EnableJPareposities不服从@Primary注释bean_Java_Spring_Spring Mvc_Spring Data_Spring Test Mvc - Fatal编程技术网

Java @EnableJPareposities不服从@Primary注释bean

Java @EnableJPareposities不服从@Primary注释bean,java,spring,spring-mvc,spring-data,spring-test-mvc,Java,Spring,Spring Mvc,Spring Data,Spring Test Mvc,我使用@Inject、@ComponentScan和@EnableJpaRepositories进行了简单的Spring设置。目前无需为测试、集成或生产环境提供特定的@配置 我现在正在使用Spring测试mvc框架,并引入了一个@TestConfig,其中包含了我的(Spring数据)存储库类的模拟bean,这些类也有@Primary注释。 但是,@EnableJpaRepositories似乎不符合我的TestConfig中存储库bean的@Primary 有没有一种简单的方法来解决这个问题,

我使用
@Inject
@ComponentScan
@EnableJpaRepositories
进行了简单的Spring设置。目前无需为测试、集成或生产环境提供特定的
@配置

我现在正在使用Spring测试mvc框架,并引入了一个
@TestConfig
,其中包含了我的(Spring数据)存储库类的模拟bean,这些类也有@Primary注释。 但是,
@EnableJpaRepositories
似乎不符合我的
TestConfig
中存储库bean的
@Primary


有没有一种简单的方法来解决这个问题,或者我真的应该使用不启用Spring Data JPA存储库的特定配置文件来拆分所有内容?

您能发布stacktrace和配置吗?需要考虑的一件事是,
@Primary
仅适用于组件扫描检测到的bean,这些bean必须在xml配置中声明。在Java配置中,它必须在@Bean注释旁边声明。我不确定这里是否有用例
@Primary
的目的是选择一个实现作为主要实现。当我们在这里处理接口时,如何在
ApplicationContext
中为一个接口获得两个Springbean?但是,如果您在手动实现的存根上使用
@Primary
,那么这个bean实例应该胜过由
@EnableJpaRepositories
生成的代理。嗨,奥利弗,用例是我正在使用一个(简单的)配置类,它也有EnableJpaRepositories注释。在执行MVC测试(使用MVC测试框架)时,我似乎无法模拟我的存储库。我尝试为存储库创建一个带有mock的TestConfig,但这不起作用。那么如何注册mock bean呢?我假设使用
@Import
导入的附加配置类,包含
@Primary
@Bean
方法,肯定会胜过自动注册的方法。您还可以简单地尝试以存储库bean名称命名bean方法。这也应该覆盖扫描的。我对Spring Boot的@SpringBootApplication注释也有同样的问题。我无法在TestApplication类上使用@Import和@Primary@Bean模拟我的存储库。有人找到解决办法了吗?