我在春季启动时遇到了有关存储库的问题。 我有服务:
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private RoleRepository roleRepository;
}
和这里的回购:
@Repository("userRepository")
public interface UserRepository extends CrudRepository<User, Long> {
User findByEmail(String email);
}
当我运行应用程序时,我收到此消息:
Description:
Field userRepository in com.projectWS.service.UserServiceImpl required a
bean of type 'com.projectWS.repo.UserRepository' that could not be found.
Action:
Consider defining a bean of type 'com.projectWS.repo.UserRepository' in your
configuration.
请帮助我,我太绝望了...... 这是我的主要课程:
@SpringBootApplication
@Configuration
@EnableWebMvc
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
}
另一个问题是,@EnableJpaRepositories
无法识别!!
答案 0 :(得分:4)
您的Main
类很可能是在一个包中定义的,而其他包则没有被扫描过。
尝试使用以下代码注释Main
课程。
@ComponentScan("com.projectWS")
根据您的错误消息判断并假设您的软件包级别的顶部从com.projectWS
答案 1 :(得分:0)
我不是Spring专家,但我怀疑这可能是因为这些类名称的情况。只是为了安心测试,请:
@Service("userService")
public class UserServiceImpl implements UserService {
@Qualifier("userRepository")
@Autowired
private UserRepository userRepository;
@Qualifier("roleRepository")
@Autowired
private RoleRepository roleRepository;
}
答案 2 :(得分:0)
您似乎没有为JPA添加Spring数据,请将以下内容添加到您的pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>