我从头开始创建一个新的Java Web应用程序.
我对Spring Framework没有太多经验,但我知道我想使用它的一些功能,比如Transaccions Management.
另一方面,我非常喜欢Guice的依赖注入.
我知道Guice和Spring可以一起工作:http://www.jroller.com/mindcrime/entry/an_example_of_integrating_guice
但在开始设计我的应用程序之前,我想知道是否有人通过遵循该方法遇到了问题.
另外,我真正喜欢Guice的是你不需要XML配置文件,而只需要java模块,它更短,更容易阅读.Spring上有没有XML配置文件的替代品,类似于Guice?
如果您刚刚开始,那么我建议您使用https://github.com/spring-projects/spring-boot
它具有出色的自动配置功能,可以节省编写样板代码.由于嵌入式Tomcat,我甚至可以释放您使用应用程序服务器.例如,实现简单的MVC控制器(可以用作REST端点)看起来像这样:
@Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
现在你可以执行java -jar your_package.jar
所有这些.您还将获得事务管理,数据库集成等.可以在上述链接中找到更多示例,尤其是在https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples目录中
Spring现在已经为两个主要版本提供了基于Java的注释配置.您不需要编写单行XML(甚至不是web.xml!)
我和Guice和Spring一起工作过.对于需要DI的小型项目,Guice已足够,但如果您要使用Spring进行MVC或事务性支持,您也可以使用它的DI.Guice也没有像Spring那样有良好的配置文件支持 - 如果你想为本地开发,测试环境和生产提供单独的bean,你必须自己手动切换模块.
我认为Spring本身就足以满足企业应用需求.
春天也需要XML!Modern Spring Apps使用JavaConfig和最小配置.看一下Spring Boot Guides.Whole Spring应用程序根本不能使用任何XML.
Guice很好,但非常有限.使用Spring可以非常简单快速地编写具有事务和持久性的Web应用程序或REST应用程序.使用Guice,这更复杂.