在使用Im的库中,定义了以下bean。
package co.random.core;
@Service
public class ApiEndpoints {
@Value("${testApi}")
private String testApi;
public String getTestApi() {
return testApi;
}
}
然后将其注入到库的另一部分,
@Autowired
ApiEndpoints apiEndpoints;
是否有其他方法可以覆盖此bean?
我在代码中尝试了以下内容,
@Configuration
public class ApiConfiguration {
@Primary
@Bean(name = "apiEndpoints")
public CustomEndpoints getCustomApiEndpoints() {
return new CustomEndpoints();
}
}
但这会引发错误,
Field apiEndpoints in co.random.core.RandomService required a bean of type 'co.random.core.ApiEndpoints' that could not be found.
答案 0 :(得分:2)
该bean被覆盖,但是您定义的新bean不符合预期自动装配的类型。
您的bean必须是(或扩展)ApiEndpoints
类型。