Spring Java配置-@Bean重写Bean定义不起作用
我在项目a中有一个名为Customer的bean。在项目B中,我将项目a作为maven依赖项 在项目B的Java配置(@Configuration)中,我试图获得一个名为CustomerImpl的bean客户的新实现Spring Java配置-@Bean重写Bean定义不起作用,java,spring,spring-mvc,spring-java-config,spring-bean,Java,Spring,Spring Mvc,Spring Java Config,Spring Bean,我在项目a中有一个名为Customer的bean。在项目B中,我将项目a作为maven依赖项 在项目B的Java配置(@Configuration)中,我试图获得一个名为CustomerImpl的bean客户的新实现 @Bean public Customer customer() { return new CustomerImpl() } 顾客是这里的一个阶层 但我的上下文总是有Customer,而不是我想要的CustomerImpl 当我在上面的配置中放置@Qualifier并使用该限定符
@Bean
public Customer customer() {
return new CustomerImpl()
}
顾客是这里的一个阶层 但我的上下文总是有Customer,而不是我想要的CustomerImpl
当我在上面的配置中放置@Qualifier并使用该限定符名称而不是customer()时,它工作正常。但我不想指定限定符。在您的评论中,您说customer是一个类 尝试将
customer()
方法中的返回类型定义为接口(例如ICCustomer),而不是类。让Customer和CustomerImpl实现该接口
@Bean
public ICustomer customer() {
return new CustomerImpl()
}
在你的评论中,你说客户是一个阶级 尝试将
customer()
方法中的返回类型定义为接口(例如ICCustomer),而不是类。让Customer和CustomerImpl实现该接口
@Bean
public ICustomer customer() {
return new CustomerImpl()
}
给这两个豆子起不同的名字
@Bean(name=customerImpl)
public Customer customerImpl() {
return new CustomerImpl()
}
并使用名称获取所需的实例,例如
@Resource(name=customerImpl)
private Customer customer;
给这两个豆子起不同的名字
@Bean(name=customerImpl)
public Customer customerImpl() {
return new CustomerImpl()
}
并使用名称获取所需的实例,例如
@Resource(name=customerImpl)
private Customer customer;
这个问题已经解决了。做了两个改变。添加了@Primary并给出了不同的方法名
@Primary
@Bean
public Customer newMethodName() {
return new CustomerImpl()
}
这个问题已经解决了。做了两个改变。添加了@Primary并给出了不同的方法名
@Primary
@Bean
public Customer newMethodName() {
return new CustomerImpl()
}
客户是一个类还是一个接口?这里的客户是一个类。这里的客户是一个类还是一个接口?这里的客户是一个类。您是指CustomerImpl as接口???@user2069929否,创建一个新接口(例如ICCustomer),并使Customer和CustomerImpl类实现该接口。然后更改customer方法以返回ICCustomer而不是customer。您是指CustomerImpl as接口???@user2069929否,创建一个新接口(例如ICCustomer),并使customer和CustomerImpl类实现该接口。然后更改customer方法以返回ICCustomer而不是customer。