У меня есть это в src / main / groovy / ...
package com.mycompany.web;
// imports....
@Controller
class GroovyController {
@RequestMapping("/status_groovy")
public @ResponseBody String getStatus() {
return "Hello World from groovy!";
}
}
Использование maven 3 и пружины 3.1 (Milestone). Spring MVC отлично работает для контроллеров Java, и все настроено нормально. Класс groovy прекрасно компилируется и может быть найден в каталоге classes
вместе с классами контроллера java.
У меня есть аналогичный контроллер, написанный на Java (JavaController) в том же пакете, но в src / main / java, и он правильно подбирается весной и отображается, и я вижу ответ на экране, когда нажимаю на URL.
package com.mycompany.web;
// imports....
@Controller
class JavaController {
@RequestMapping("/status")
public @ResponseBody String getStatus() {
return "Hello World!";
}
}
Jetty запускается нормально, без ошибок в журнале, но я не вижу, чтобы groovy url отображался, тогда как я вижу java.
2011-09-23 16:05:50,412 [main] INFO org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/status],methods=[],params=[],headers=[],consumes=[],produces=[]}" onto public java.lang.String com.mycompany.web.JavaController.getStatus()
Все настройки в порядке, так как другие части приложения работают нормально с аннотациями (компонентное сканирование и т. Д.), Просто я не могу отобразить URL в GroovyController
Может кто-нибудь объяснить, что нужно сделать, чтобы получить Controller
s, написанные в отличной работе?
PS: я избегаю GroovyServlet для запуска сценариев, потому что он имеет серьезные недостатки, когда дело доходит до внедрения bean-компонентов и URL-путей.