我正在尝试创建一个Spring Boot应用程序,它使用Spring Security和OAuth2通过数据库进行身份验证。我正试图按照GitHub的例子来介绍这个存储库(https://github.com/TechPrimers/spring-security-db-example)现在面对这个错误。
段落短语的StackTrace:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfiguration': Unsatisfied dependency expressed through field 'userDetailsService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDetailsDervice': Unsatisfied dependency expressed through field 'usersRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.user.path.to.repository.UsersRepository.findByName(java.lang.String)! No property name found for type AccountUser!
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDetailsDervice': Unsatisfied dependency expressed through field 'usersRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.user.path.to.repository.UsersRepository.findByName(java.lang.String)! No property name found for type AccountUser!
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.user.path.to.repository.UsersRepository.findByName(java.lang.String)! No property name found for type AccountUser!
Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.user.path.to.repository.UsersRepository.findByName(java.lang.String)! No property name found for type AccountUser!
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type AccountUser!
以下是我的课程:
CustomUserDetails服务
@Service("userDetailsDervice")
public class CustomUserDetailsService implements UserDetailsService {
@Autowired
private UsersRepository usersRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Optional<AccountUser> optionalUsers = usersRepository.findByName(username);
optionalUsers
.orElseThrow(() -> new UsernameNotFoundException("Username not found"));
return optionalUsers
.map(CustomUserDetails::new).get();
}
}
用户还原
@Repository
public interface UsersRepository extends JpaRepository<AccountUser, Integer> {
Optional<AccountUser> findByName(String username);
}
帐户用户
@Entity
@Table(name = "User")
public class AccountUser {
@Column(name = "title")
private String title;
@Column(name = "firstname")
private String firstname;
@Column(name = "lastname")
private String lastName;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "email")
private String email;
@Column(name = "password")
private String password;
@Column(name = "modified")
private Date modified;
@Column(name = "accessed")
private Date accessed;
/* ... getters and setters ....*/
@Repository
public interface UsersRepository extends JpaRepository<AccountUser, Integer> {
Optional<AccountUser> findByName(String username);
}
替换为下面的
@Repository
public interface UsersRepository extends JpaRepository<AccountUser, Integer> {
Optional<AccountUser> findByLastName(String username);
}
您没有Name作为实体的一部分,JPA无法找到属性"name"
为了订购你需要的
@存储库公共接口UsersRepository扩展了JpaRepository{可选findByLastNameOrderByAccessedDesc(字符串用户名);}
在这里,您可以在本节表2.3中找到jpa查询https://docs.spring.io/spring-data/jpa/docs/1.5.0.RELEASE/reference/html/jpa.repositories.html的示例。方法名称中支持的关键字
在过去的几天里,我一直在尝试用spring boot和hibernate做一些应用程序,我可以纠正所有的错误,但这一个我不明白。。。 我创建了3个包:模型,其中包含我的4个模型(用户,帐户,笔记和笔记本)存储库和网络,其中包含我的控制器 这是我的控制器: 我的仓库代码: 错误是:
我有以下代码和结构。我得到以下错误,这是很长的错误消息。 创建名称为'departmentController'的bean时出错:通过字段'departmentService'表示的不满意的依赖项;嵌套异常org.springframework.beans.factory.不满意依赖异常: 实体类 存储库接口 服务等级 控制器类 主课 项目结构 完整错误堆栈跟踪:
当我试图进入主页时,我有以下错误 在我的UserController中,我有以下代码 我的用户服务 我的UserServiceImpl 我的假设 web.xml 我的servlet上下文 根上下文为空。 我不知道哪里是可能的错误原因,我试图找到不同的选项,但如果我使用DAO模式,我会收到相同的错误,所以我想知道哪个是问题来解决它。 该项目的配置使用xml,但我认为解决这种情况并不重要。 问候!
我是Spring和hibernate框架的新手,我已经给出了依赖项上的注释,但是我不知道为什么会出现这个错误。 创建名为“customerController”的bean时出错:通过字段“customerDAO”表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂未满足的依赖项异常:创建名为“customerDAOImpl”的bean时出错:未满足的依赖项通过字段“
以下是跟踪: org.springframework.beans.factory.未满足的DependencyException:创建名称为'testController'的bean时出错:通过字段'testDAO'表示的依赖项未满足;嵌套异常org.springframework.beans.factory.BeanCreationException:创建名称为'testDAO'的bean时出错
我是sping-mvc的新手。我试图找到使用sping-mvc、hiberNate、mysql和jsf开发测试项目的好教程。最后我创建了示例项目。 我的第一个问题是, 就是这个Spring-mvc结构 但不幸的是,上面显示的是错误。 应用程序上下文。xml 人脸配置。xml web.xml 个人类 PersonDAOImpl类 个人服务Impl类 ManagedBeanClass类 错误是, 请给