我在春季启动时遇到有关存储库的问题。我有一个服务:
@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
没有得到认可!
很可能你的Main
类是在一个包中定义的,而你的其他包没有被扫描。
尝试注释你的Main
课程:
@ComponentScan("com.projectWS")
根据您的错误消息判断并假设您的包级别的顶部从com.projectWS
开始
我不是Spring专家,但我怀疑这可能是因为这些类的名称的情况。只是为了安心测试,请:
@Service("userService")
public class UserServiceImpl implements UserService {
@Qualifier("userRepository")
@Autowired
private UserRepository userRepository;
@Qualifier("roleRepository")
@Autowired
private RoleRepository roleRepository;
}
您似乎没有为JPA添加Spring数据,请将以下内容添加到您的pom.xml中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>