我有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
我在做什么错了?
将所有类保留在一个包中是可行的,但我希望对其进行结构化。
答案 0 :(得分:0)
您正在使用spring-data-jpa
存储库,但似乎在SpringBootApplication类中没有任何@EnableJpaRepositories
。
请添加它,例如:
@SpringBootApplication
@ComponentScan({"mainpackage","repositories","controller"})
@EnableJpaRepositories("repositories")
,并且您可能还需要添加一个@EntityScan
以及包含您的实体所位于的程序包:
@EntityScan("entities")