当前位置: 首页 > 知识库问答 >
问题:

Springbean未使用@Repository注释标识

霍鸣
2023-03-14

我写了一个示例Spring启动应用程序,它无法运行消息

`描述:com中的customerRepository字段。hibernatetutorial。服务CustomerServiceImpl需要“com”类型的bean。hibernatetutorial。存储库。找不到CustomerRepository“”。

操作:考虑在您的配置中定义类型为“com.hibernatetutorial.repository.CustomerRepository”的bean。'

我在CustomerRepository类上有一个@Repository注释,它的包在基本包扫描中。

下面是配置

   @SpringBootApplication
@ComponentScan(basePackages="com.hibernatetutorial")
public class HibernateTutorialApplication {

    public static void main(String[] args) {
        SpringApplication.run(HibernateTutorialApplication.class, args);

    }

}

@Repository
@Transactional
public interface CustomerRepository extends JpaRepository<Customer, UUID>{

}

@Service
@Transactional
public class CustomerServiceImpl implements CustomerService {

    @Autowired
    private CustomerRepository customerRepository;

    public Customer createCustomer(Customer customer) {
        return customerRepository.save(customer);
    }

}

客户实体用@实体注释。如果我错过了什么,有什么建议吗

共有2个答案

郑安晏
2023-03-14

请验证CustomerRepository和CustomerServiceImpl Java文件是否在同一个包com下。hibernatetutorial。

沈飞跃
2023-03-14

要使用JpaRepository,您需要向应用程序中添加以下内容之一:

@EnableAutoConfigurationfor Spring Boot自己解决它或

启用jparespositionals(basePackageScan=“com.example”)自己指定它

有关更多信息

 类似资料: