我是Spring Boot的新手,但这是我现在面临的问题:
// Application.java
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Autowired
private Cluster cluster = null;
@PostConstruct
private void migrateCassandra() {
Database database = new Database(this.cluster, "foo");
MigrationTask migration = new MigrationTask(database, new MigrationRepository());
migration.migrate();
}
}
因此,基本上,我正在尝试引导spring应用程序,然后进行一些cassandra迁移。
我还为我的用户模型定义了一个存储库:
// UserRepo.java
public interface UserRepo extends CassandraRepository<User> {
}
现在,我正在尝试使用以下简单测试用例来测试我的repo类:
// UserRepoTest.java
@RunWith(SpringRunner.class)
@AutoConfigureTestDatabase(replace = Replace.NONE)
@DataJpaTest
public class UserRepoTest {
@Autowired
private UserRepo userRepo = null;
@Autowired
private TestEntityManager entityManager = null;
@Test
public void findOne_whenUserExists_thenReturnUser() {
String id = UUID.randomUUID().toString();
User user = new User();
user.setId(id);
this.entityManager.persist(user);
assertEquals(this.userRepo.findOne(user.getId()).getId(), id);
}
@Test
public void findOne_whenUserNotExists_thenReturnNull() {
assertNull(this.userRepo.findOne(UUID.randomUUID().toString()));
}
}
我希望测试能够通过,但是,我收到一条错误消息:“没有可用的’com.datastax.driver.core.Cluster’类型的合格Bean”。看起来弹簧无法自动装配cluster
对象,但这是为什么呢?我该如何解决?非常感谢!
测试环境需要知道您的bean的定义位置,因此您必须告诉它位置。
在测试类中,添加@ContextConfiguration
注释:
@RunWith(SpringRunner.class)
@AutoConfigureTestDatabase(replace = Replace.NONE)
@DataJpaTest
@ContextConfiguration(classes = {YourBeans.class, MoreOfYourBeans.class})
public class UserRepoTest {
@Autowired
private UserRepo userRepo = null;
@Autowired
private TestEntityManager entityManager = null;
关于stackoverflow有很多类似的问题,但我发现没有一个是我的问题。 在Spring Boot2.0.2.Release的集成测试中,我为该测试创建了一个单独的@Configuration类,并在其中定义了bean。这个bean恰好被中的其他一些bean使用。 设置和拆分的通用摘要: src/test中的MyIntegrationTestConfig,用于替代src/main中的配置: b
在尝试使用Spring Boot framework进行一些测试时,我遇到了一个问题,无法找到测试单元所依赖的Bean。 我的测试类: 如果我试图在测试类中自动连接bean,我也会收到同样的错误。
当我尝试自动连接扩展CrudRepository的接口时,我遇到了这个错误。我有两个用于两个数据库的hibernate xml配置。整个堆栈是 unsatisfiedDependencyException:创建名为“Hello Controller”的bean时出错:通过字段“stock service”表示的不满足的依赖项;嵌套异常为org.springframework.beans.facto
我正在使用Spring Boot 2.2.4并尝试自定义执行器 以下是相关的课程
我想在xml JDBCTemolate上进行配置。 看起来是这样的 JDBCrepository: 控制器:
控制器: 型号: 存储库: web.xml
问题内容: 我一直在研究Spring / Spring MVC应用程序,并且希望添加性能指标。我遇到过Spring Boot Actuator,它看起来是一个不错的解决方案。但是我的应用程序不是Spring Boot应用程序。我的应用程序在传统容器Tomcat 8中运行。 我添加了以下依赖 我创建了以下配置类。 我什至可以按照StackOverflow另一篇文章的建议在每个配置类上添加 问题答案: