我创建了由Maven管理的Spring Boot应用程序。 我正在从我们的Maven存储库中检索公司的库。自动装配和注入Bean的外部Java库问题
在这个库中,我们有一个服务接口,而不是被标注了“@服务”:
public interface MyService {
//...
}
此服务只有一个执行:
public class DefaultMyService implements MyService {
//...
}
这个库上下文管理的旧的Spring方法(在applicationContext.xml文件中)。 我读到通常情况下,如果在范围中只有一个,Spring Boot能够找到实现。
当我尝试运行“春天启动:运行”在我的项目,它会失败,出现以下错误:
无型“com.pharmagest.saml.SAMLService” 可用的排位豆:预计至少有1个豆符合自动电线 候选人的要求。依赖注解: {@ org.springframework.beans.factory.annotation.Autowired(所需=真)}
我尝试:
- 要添加@ComponentScan上的配置类,包括包错误:
@ComponentScan(basePackages={"com.mycompany.web", "com.mycompany.thelibrary.client.*", "com.mycompany.thelibrary.services.*"})
- 要在applicationContext.xml中添加bean定义(如果我添加的接口它告诉我,它可以定义它,因此,我听说春天可以找到默认的实现如果只有一个?)
- 在“运行”中添加库时间”,在项目的选择
- 为了不通过行家
库中添加外部资源在所有的情况下,我只可以Maven构建,但不能运行项目。 你有什么建议可以帮助我吗?谢谢!
对于选项2,您可以在applicationContext.xml中显示您的定义吗? –
难道你不能手动创建bean并将该方法标记为@Bean来返回实例吗? – StanislavL