我有一个@RestController
具有自动装配的UserService
接口,我有两个服务beanUserInMemoryService
和UserJpaService
,它们都实现了UserService
接口。
现在,UserInMemoryService正在使用内存存储库,而UserJpaService正在使用JPA存储库进行数据操作。问题是spring如何决定走哪条路?因为在controller中,我拥有的Autowired是一个接口,没有具体的类的细节。
问题是Spring是如何决定走哪条路的?因为在控制器中,我hvae@Autow的是接口,没有具体类的细节。
Spring不会决定。它只会以一个异常结束,即“找到多个UserService类型的bean”
Spring无法自动连接,有多个``类型的bean
您可能需要使用限定符来告诉Spring使用哪个bean
我有两个spring bean类实现相同的接口。 你能给我一个建议吗。
在我们的项目中,我们将spring与一起用于Junit测试。我们使用注释加载多个文件。我们有两个类和和extends。 在代码流过程中,我注意到在具有不同bean类型的多个文件中有相同的bean Id。当我测试这些JUnit并得到以下错误时。 错误: beAnnotoFRequiredTypeException:名为“选民ID”的Bean应该是[com.spring.test2.student]类
我基本上是java初学者,我想问stackoverflow论坛一个简单的问题。我已经在这里检查了类似的问题,但我没有找到想要的答案,链接:实现接口的类和该接口之间有任何关系吗? 我们知道,如果猫延伸到动物身上,这是有关系的。所以猫是一种动物(但不一定非如此。动物也是一条狗……)。我们将这种关系称为“is-a”-继承。 如果我们有另外两个班:女孩和糖果,如果女孩班有糖果的例子,那么我们将这种关系命名
我创建了一个bean,如下所示 在一个测试类中,我模拟该类如下: 应用程序在没有错误的情况下启动。但是测试并没有模仿bean CustomerEmailSenderImpl2。bean总是被实例化,并执行真正的代码。即使在测试类中从接口到类名的更改也没有帮助: 需要什么来模拟bean CustomerEmailSenderImpl2?
所以我的问题是: 总是设置优先级的setter注入,还是有某个属性定义它。 为什么Setter注入优先于构造函数注入
我有一个实现两个接口的bean。准骨骼代码如下: 在AppConfig中,我指定了以下内容: 解决办法是引入一个扩展和的新接口,然后让实现它。但是,我不愿意因为框架的限制而改变我的设计。