我有一个 JpaRespository 接口,比如吹,
@Transactional
@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
public Product findById(Long id);
}
我想从非容器托管类中使用此存储库方法,如下所示。
public class ProductFactory implements ITestFactory {
private static ProductFactory instance = new ProductFactory();
public static ProductFactory getInstance() {
return instance;
}
private ProductFactory() {
}
@Override
public Product getProduct(Long id) {
// Need to access ProductRepository here
}
//.... remaining methods and logic
}
public interface ITestFactory {
Product getProduct(Long id);
//.. remaining methods
}
这里 ProductFactory 的 getInstance() 由我无权访问的平台(基于内部弹簧的平台)类调用。请告诉我如何访问这个工厂类方法中的存储库方法。
这是配置类,
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {
"com.test.product"
}, entityManagerFactoryRef = "productSource", transactionManagerRef = "txn_productSource")
public class RepoConfig {
}