我有一个名为UserRepository的通用存储库接口。然后我有一个接口,它从MyUserRepository扩展而来。它处理一个MyUser类,该类扩展了User。
我还有一个名为UserService的服务接口和一个名为MyUserServiceImpl的类。
该服务需要UserRepository的实例,我虽然可以使用某种注释,如@Qualifer,但它不起作用。
@NoRepositoryBean
public interface UserRepository <T extends User> extends JpaRepository<T, Long>{
<S extends T> S findByLoginName(String loginName);
<S extends T> S saveAndFlush(User user);
}
@Repository
@Qualifier("myUserRepository")
public interface MyUserRepository extends UserRepository<MyUser> {
}
public interface UserService {
public List<User> getUsers();
}
@Service
public class MyUserServiceImpl implements UserService {
@Autowired
@Qualifier("myUserRepository")
private UserRepository<User> userRepository;
@Override
public List<User> getUsers() {
....
}
}
应用程序无法启动
说明:
com中构造函数的参数0。。。。服务。MyUserServiceImpl需要类型为“com…”的bean。。。。存储库。找不到的UserRepository“”。
注入点具有以下注释:-@org。springframework。豆。工厂注释。自动连线(必需=真)
行动:
考虑定义com......存储库类型的bean。配置中的UserRepository。
@限定符与@自动生成的注释一起使用。默认情况下,@autowmed将根据类型注入bean。当您有多个相同类型的bean时,@Qualifer有助于解决冲突。在您的情况下,使用批注@仓库将完成您的工作。此外,在UserRepository接口中,您必须提供Id类以及JPA实体类。
在您的案例中不需要限定符。
@Repository
public interface MyUserRepository extends UserRepository<MyUser> {
}
将存储库自动关联为:
@Service
public class MyUserServiceImpl implements UserService {
@Autowired
private UserRepository<User> userRepository;
...
@Qualifier
注释仅在调用已创建的bean时使用。因此,您不应该在类头上调用,您可以将其命名为@Repository(“myUserRepository”)
,并在@Autowired
@限定符(“myUserRepository”)
我必须修复以下错误。任何人都可以帮忙 严重:StandardWrapper.Throwable org.SpringFramework.Beans.Factory.BeanCreationException:创建名为“Search Controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCrea
问题内容: GitLab是一种免费的开放源代码方式,用于托管私有存储库,但它似乎不适用于Go。创建项目时,它将生成以下形式的URL: 哪里: 是gitlab服务器的IP地址 是有权访问私有存储库的用户组 Golang 1.2.1似乎不了解这种语法。 结果是: 有办法让它工作吗? 问题答案: 现在,此问题已在Gitlab 8. *中解决,但仍然不直观。确实,最困难的挑战是,以下步骤将使您克服这些挑战
我一直在努力寻找一些资源来帮助解释我们如何使用Web应用程序服务的文件存储。 可以将其与旧的Web角色一起使用,请参阅此处(在云服务(Web和辅助角色)中使用Azure文件服务)。 但是,“Azure Web服务”中没有OnStart()方法。
我刚刚安装了(而不是更新)GitHub for Windows2.0,而且一辈子我都找不到如何在非GitHub存储库中使用它。在过去,我使用本指南没有任何问题。然而,在2.0版本中,布局发生了变化,我无法找到一个UI来克隆不是来自GitHub的回购。我想我必须使用命令行,但我不知道如何以这种方式使用git。
我一直在修补Spring Cloud配置,但有一个用例,其中配置属性分为两种类型: > 非机密值,开发人员应该能够查看和维护这些值。JDBC的URL等) 秘密值,只能由具有特殊访问权限(如密码)的指定人员查看和维护 因此,我对“复合环境存储库”的支持非常感兴趣,它目前在快照版本中可用。我似乎可以将Git用于开发人员管理的属性,将Vault用于机密属性,并对其进行配置,以便在发生冲突时Vault始终
问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示: