Хорошей идеей было добавить ссылку на Github.Я вижу следующие проблемы:
1) Если у вас нет основного класса, помеченного @SpringBootApplication
, вы можете использовать:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(basePackages = "com.app.repository")
public class MySampleApplication {
}
2) Изменить аннотации над вашим ConfigurationRepository
класс до:
@EnableJpaRepositories("com.app.repository")
@ComponentScan(basePackages = { "com.app.repository" })
public class ConfigurationRepository {
Это должно позволить нам перейти к следующему пункту:
3) Ваш MyBeanIntegrationTest
должен быть аннотирован как:
@SpringBootTest(classes = MyAppApplication.class)
public class MyBeanIntegrationTest {
4) В application.yml
у вас есть небольшая проблема с отступом в последней строке.Конвертируйте табуляцию так, чтобы она была пробелом, и все должно быть в порядке.
5) Следующим шагом является MyBeanRepository
интерфейс.Вы не можете использовать метод с именем findOne
там.Дело в том, что в интерфейсах, помеченных как JpaRepository
или CrudRepository
и т. Д., Имена методов должны следовать определенным правилам.Если вы отметите, что это будет репозиторий с типом MyBean
, то имя вашего метода должно быть изменено на findById
, потому что Spring будет искать свойство с именем id
в вашем bean-компоненте.Присвоение ему имени findOne
приведет к сбою теста:
No property findOne found for type MyBean!
После исправления этих ошибок ваши тесты пройдут по моей среде.
Надеюсь, это поможет!