發現問題。畢竟,春季靴子的@AutoConfigure
正在工作。
class MyController {
RestTemplate restTemplate
def index() {
def result = restTemplate.getEntity("http://my-service/whatever", Void.class) // call gives nullPointerException due restTemplate is not injected
render "Response: $result"
}
}
因爲Spring引導註冊啓用絲帶RestTemplate
豆不在bean名稱restTemplate
,Grails的約定基於注射機構(字段名稱必須匹配:試圖用一個彈簧RestTemplate
休息絲帶時
問題bean名稱)不起作用。要解決此問題,需要@Autowired
到restTemplate
字段,並讓Spring進行注入。
所以這是解決方案:
class MyController {
@AutoWired
RestTemplate restTemplate
def index() {
def result = restTemplate.getEntity("http://my-service/whatever", Void.class) // restTemplate is now injected using Spring instead of Grails
render "Response: $result"
}
}
要麼設置你的你的東西在resource.groovy或添加@ComponentScan(「包名」)在您的應用 – cfrick