我正在嘗試在Groovy中爲Spring Boot編寫一個簡單的Spring Data JPA應用程序。我遵循getting started guide並做了一些基本的轉換,以使其適用於Groovy和Spring Boot CLI。未使用CommandLineRunner自動創建Spring Data JPA存儲庫
我正在同春引導CLI(V1.1.8)代碼:
spring run app.groovy
這將導致錯誤:
NoSuchBeanDefinitionException: No qualifying bean of type [hello.CustomerRepository] is defined
有沒有人有一個想法,爲什麼倉庫不是自動創建?我覺得我必須錯過簡單的東西。下面是一個包含代碼的所有的app.groovy文件:如果你給它實際的類(即,不是.groovy作爲腳本)
package hello
@Grab("spring-boot-starter-data-jpa")
@Grab("h2")
import java.util.List
import javax.persistence.*
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.EnableAutoConfiguration
import org.springframework.context.ConfigurableApplicationContext
import org.springframework.context.annotation.Configuration
import org.springframework.data.repository.CrudRepository
@Entity
class Customer {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
long id
String name
Customer() {}
Customer(String name) {
this.name = name
}
}
interface CustomerRepository extends CrudRepository<Customer, Long> {
List<Customer> findByName(String name)
}
@Configuration
@EnableAutoConfiguration
class Application implements CommandLineRunner {
@Autowired
ConfigurableApplicationContext context
void run(String[] args) {
CustomerRepository repository = context.getBean(CustomerRepository.class)
repository.save(new Customer("Jack", "Bauer"))
}
}
你嘗試過加入'@ EnableJpaRepositories' – cfrick 2014-10-29 20:26:10
是的,我曾嘗試加入@EnableJpaRepositories到應用程序類。它沒有改變結果。 – 2014-10-29 20:35:39