春季启动时组件的异常行为

时间:2018-12-18 08:08:08

标签: spring components

我有3个包裹:

  • 主包
  • 存储库
  • 控制器

在我的SpringBootApplication中,我已注释:

@SpringBootApplication
@ComponentScan({"mainpackage","repositories","controller"})

在我的存储库包中,有一个组件:

@Component
public interface UserRepository extends CrudRepository<User,Long> {
}

在我的控制器包中,我有一个控制器,该控制器可以自动装配“存储库”的组件:

@RestController
public class MyController {

    @Autowired
    private UserRepository userRepository;

通向:

Unsatisfied dependency expressed through field 'userRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException

我在做什么错了?

将所有类保留在一个包中是可行的,但我希望对其进行结构化。

1 个答案:

答案 0 :(得分:0)

您正在使用spring-data-jpa存储库,但似乎在SpringBootApplication类中没有任何@EnableJpaRepositories

请添加它,例如:

@SpringBootApplication
@ComponentScan({"mainpackage","repositories","controller"})
@EnableJpaRepositories("repositories")

,并且您可能还需要添加一个@EntityScan以及包含您的实体所位于的程序包:

@EntityScan("entities")