我目前正在使用Java和Spring(MVC)来创建一个webapp,我正在考虑转向Grails.我很感激以下方面的反馈/见解:
我在当前的Java/Spring webapp中有多个应用程序上下文,我通过web.xml ContextLoaderListener加载; 是否有可能在Grails中有多个应用程序上下文?如果,是的,怎么样?
此Web应用程序广泛使用CXF restful Web服务,当前的Java/Spring Web应用程序使用捆绑的CXF HTTP客户端.我可以继续在Grails中使用(Java)CXF HTTP客户端吗?
我使用UserDetails和UserDetailsService的自定义实现实现了Spring Security,我可以"按原样"在Grails中重用这些实现,还是必须重新实现它们?
还有就是我在Spring的JDBC模板(而不是可用的ORM)依靠一个实例,我在应用程序上下文中定义一个额外的数据源,我可以重新使用这个Grails的?
我计划使用Maven作为项目管理工具; 有没有使用Maven和Grails的问题,那里有groovy和java的组合?
编辑: 我正在考虑转移到Grails的,使Web应用程序的Web组件的发展"快",一拉的Ruby-on-Rails的.另外,我考虑Grails的,而不是说的Ruby-on-Rails的,因为我想继续使用JVM,我已经使用Grails在过去涉足,这是很容易回升和使用.
大概.Grails使用Spring的ContextLoaderListener类的子类,它在web.xml文件中配置.如果你告诉我你是如何使用Spring MVC的话,我可以更准确地回答.
是.您甚至可能对CXF插件感兴趣,但我无法保证:
http://grails.org/plugin/cxf
你应该可以按原样使用它们.但是,您可能想要检查是否可以使用Spring Security插件轻松完成此操作.我相信它是,但你可以从插件的作者Burt Beckwith那里得到明确的答案.
是.你也可以抓住Hibernate会话工厂来做原始Hibernate的东西.GORM还可以使用多个数据源:
http://grails.org/plugin/datasources
另一个Burt Beckwith一个:)
这取决于"Groovy和Java的组合"的含义.您可以使用Maven构建Grails项目,但集成并不完全顺利.如果您的Grails项目中有Java和Groovy,则会自动处理.
为了回应Bozho,我使用标准的Grails服务+ GORM,不会以任何其他方式进行.请注意,如果将Java用于服务和域模型,则不会自动重新加载服务.你也失去了Groovy带来的表现力和简洁性的好处.
如果需要,可以在Grails服务中使用静态类型,以便IDE更轻松地提供代码完成.它还可以为您提供有关它无法识别的属性和方法的提示(这些对应于Java编译错误).也就是说,即使您使用静态类型,Groovy也无法在编译时进行类型检查.你只会在运行时发现它们.