你应该使用LAMP还是Spring Framework?

时间:2010-05-20 20:18:27

标签: spring

最近,我一直在探索Java空间,我遇到了Spring Framework。

这是一个像CodeIgniter或Rails的Web应用程序框架吗? 如果是这样,Springs是否用于开发运行Java EE技术的企业Web应用程序?

我很好奇,为什么春天会受到很多关注?简单地使用LAMP + CI或Rails开发Web应用程序不是更便宜吗?

Spring可用于开发桌面应用程序吗?

1 个答案:

答案 0 :(得分:3)

  

最近,我一直在探索Java空间,我遇到了Spring Framework。

     

这是一个像CodeIgniter或Rails的Web应用程序框架吗?如果是这样,Springs是否用于开发使用Java EE技术运行的企业Web应用程序?

Spring可以用作“通用DI / IoC / AOP”容器等等(多年来它已经变得越来越大)。您可以使用它来开发“企业Web应用程序而不是在Java EE技术上运行”,是的。

  

我很好奇,为什么春天会受到很多关注?简单地使用LAMP + CI或Rails开发Web应用程序不是更便宜吗?

您是在编写Java / Scala / Groovey / Other-JVM-Language应用程序,还是在编写Rail / Python / Perl / PHP / Whatever应用程序?它并不像从LAMP + CI + Rails“切换”到Spring + SomeJVMLanguage那么简单。您必须首先定义需求。我会说“更便宜”取决于质量测试代码的编写 - 从长远来看,坏代码很少“便宜”

请注意,Spring 是一个完整的Web堆栈,而Spring旨在集成(并集成到)堆栈中。这是“胶水”。

让我们来看看这与“LAMP”(这是一个过时的'概念')的比较:

  • L:您可以将Linux替换为:运行JVM的任何合适的操作系统(包括Linux)。
  • 答:您可以将Apache替换为:任何Servelet容器。我喜欢Jetty。
  • M:您可以用以下内容替换MySQL:众多后端的大量数据抽象。 Hibernate很受欢迎。我更喜欢一些“无SQL”数据库。
  • P:您可以用以下内容替换PHP:Java不如PHP那么可怕。我建议在JVM上使用Scala。 Scala不像Java那么可怕。

因此,简而言之,苹果和橘子以及'wth': - )

  

Spring可用于开发桌面应用程序吗?

是。也就是说,Java可用于开发桌面应用程序,并且可以使用Spring框架的相关部分(DI / IoC / AOP等)。但是,Java桌面应用程序通常看起来并不常见(使用Spring的应用程序只是其中的一小部分,并且可能使用Guice用于DI / IoC)。但是,也许比“Rails桌面应用程序”更常见;)

http://en.wikipedia.org/wiki/Spring_Framework