package it.euphoria.data.service;
import it.euphoria.data.entity.Customer;
import it.euphoria.data.entity.Seller;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import javax.validation.constraints.NotNull;
import java.util.Set;
public interface CustomerRepository extends JpaRepository<Customer, Long> {
@Query("SELECT cust FROM Customer cust WHERE cust.seller = :seller")
Set<Customer> getBySeller(@NotNull @Param("seller") Seller seller);
}
package it.euphoria.data.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class CustomerService {
private CustomerRepository customerRepository;
@Autowired
public CustomerService(CustomerRepository customerRepository) {
this.customerRepository = customerRepository;
}
public CustomerRepository getCustomerRepository() {
return customerRepository;
}
}
如果在测试时自动连接CustomerRepository
它工作得很好,但如果自动连接CustomerService
则会得到UnsatisfiedDependencyException
这是customerrepository
的工作测试:
package it.euphoria.data.service;
import it.euphoria.data.entity.Customer;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@DataJpaTest
public class CustomerRepositoryTest {
@Autowired
CustomerRepository customerRepository;
@Test
public void getBySeller() {
//test things...
}
}
这是一个与customerservice
仅有的区别:
package it.euphoria.data.service;
import it.euphoria.data.entity.Customer;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@DataJpaTest
public class CustomerRepositoryTest {
@Autowired
CustomerService customerService; //<-- The error is here
@Test
public void getBySeller() {
//test things...
}
}
org.springframework.beans.factory.unsatisfieddependencyException:创建名为“it.euphoria.data.service.CustomerRepositoryTest”的bean时出错:通过字段“Customer Service”表示的不满足的依赖关系;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:没有“it.euphoria.data.service.CustomerService”类型的合格bean可用:应至少有一个合格的自动候选bean。依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}
我找到了这个问题和答案,但它没有解决问题。你能帮我理解一下我在这里做错了什么吗?
@datajpatest
加载与数据库、读取存储库和更低级别的东西(数据源、事务管理器等)相关的bean。
这些测试用于检查SQL查询和驻留在DAO中的任何代码的正确性。
它在任何情况下都不加载整个应用程序,而只加载其中的某个部分。
我正在尝试运行以下Sqoop命令: 然而,我得到了这个错误: 17/02/04 00:04:53 警告安全。用户组信息: 特权行动例外作为:avinash (身份验证:简单) 原因:java.io.文件不发现异常: 文件不存在: hdfs://localhost:9000/home/avinash/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/slf4j-api-
我在Angular 12中运行ng测试时遇到以下问题: NullInjectorError:R3Injector错误(DynamicTestModule)[BaseURL- 错误:未定义应为true。位于UserContext。(http://localhost:9876/karma_webpack/webpack:/src/app/menu/menu.component.spec.ts:46:2
原因:组件组织。neo4j。内核impl。交易XaDataSourceManager@2a792260'已成功初始化,但无法启动。请参阅随附的原因例外。 CausedBy:组件org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@23d7c3d2已成功初始化,但无法启动。请参阅附件中的原因异常。 原因:没有架构索引提供程序组织。neo4j。内核应
我还有一个其他相同的eclipse(相同的版本等等...它来自同一个.zip存档),在这里我可以为另一个项目运行相同类型的测试。我已经检查了配置,我没有发现任何差异。因此,我目前无法理解是什么导致了这个问题。 非常感谢你能帮我解决这个问题,
root@kudo2:~#sudo systemctl重启apache2 Jobs forapache2.service失败,因为控制进程退出时带有错误代码。有关详细信息,请参阅"systemctl statusapache2.service"和"Journal alctl-xe"。 root@kudo2:~#系统控制状态apache2。服务● apache2。服务——Apache HTTP服务器
问题内容: 我需要使用“ ”类从Java应用程序启动derby服务器。 当我尝试启动服务器时,它将引发异常。 码: 错误: 有人可以告诉我此错误的原因吗? 问题答案: 您的类路径上可能有两次Derby类。在另一个jar归档文件中查找Derby类,并且仅使用它们一次。