在Spring Boot应用程序中创建类的bean?

时间:2020-09-28 21:00:14

标签: spring-boot entitymanager spring-context

我试图直接从Spring启动应用程序中过量使用Entity Manager。但是我无法创建包含我需要的方法的类的bean。我从下一篇文章中引用。

https://dzone.com/articles/accessing-the-entitymanager-from-spring-data-jpa

ProductCategoryRepository自定义界面:-

public interface ProductCategoryRepositoryCustom {

   public void merge(ProductCategory productcategory);
   public ProductCategory find(int id);
   public void persist(ProductCategory productcategory);

}

ProductCategoryRepositoryImpl 实现 ProductCategoryRepositoryCustom :-

@Component
public class ProductCategoryRepositoryImpl implements ProductCategoryRepositoryCustom {

    @PersistenceContext
    private EntityManager entityManager;

    @Override
    public void merge(ProductCategory productcategory) {
        entityManager.merge(productcategory);
    }

    @Override
    public ProductCategory find(int id) {
        ProductCategory productCategory=entityManager.find(ProductCategory.class,id);
        return productCategory;
    }

    @Override
    public void persist(ProductCategory productcategory) {
          entityManager.persist(productcategory);
    }
}

配置类:-

@Configuration
public class ProductConfig {
    
    @Bean
    public ProductCategoryRepositoryImpl productCategoryRepositoryImpl(){
        return new ProductCategoryRepositoryImpl();
    } 

}

在所有这些事情之后,当我尝试使用@Autowire注释自动连接它时,我无法访问已实现的方法。 请帮助我,让我知道我做错了什么。 谢谢我前进。

1 个答案:

答案 0 :(得分:1)

您不需要配置类。由于 @Component 批注,您的存储库已经是一个bean。