在 Spring 引导应用程序中创建 class 的 bean?
creating bean of a class in Spring Boot application?
我正在尝试直接从 Spring 引导应用程序中超出实体管理器。但是我无法创建包含我需要的方法的 class bean。我指的是以下文章。
https://dzone.com/articles/accessing-the-entitymanager-from-spring-data-jpa
ProductCategoryRepositoryCustom 界面:-
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);
}
}
配置Class:-
@Configuration
public class ProductConfig {
@Bean
public ProductCategoryRepositoryImpl productCategoryRepositoryImpl(){
return new ProductCategoryRepositoryImpl();
}
}
发生所有这些事情后,当我尝试使用@Autowire 注释自动连接它时,我无法访问我已实现的方法。
您不需要配置 class。由于 @Component 注释,您的存储库已经是一个 bean。
我正在尝试直接从 Spring 引导应用程序中超出实体管理器。但是我无法创建包含我需要的方法的 class bean。我指的是以下文章。
https://dzone.com/articles/accessing-the-entitymanager-from-spring-data-jpa
ProductCategoryRepositoryCustom 界面:-
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);
}
}
配置Class:-
@Configuration
public class ProductConfig {
@Bean
public ProductCategoryRepositoryImpl productCategoryRepositoryImpl(){
return new ProductCategoryRepositoryImpl();
}
}
发生所有这些事情后,当我尝试使用@Autowire 注释自动连接它时,我无法访问我已实现的方法。
您不需要配置 class。由于 @Component 注释,您的存储库已经是一个 bean。