繁体   English   中英

Spring boot CrudRepo定义一个bean

[英]Spring boot CrudRepo Define a bean

我在春季启动时遇到有关存储库的问题。 我有一个服务:

@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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM