1.1.1 崭新的眼光看待Spring

假定你有一个任务,使用Spring开发一个非常简单的HelloWorld的web应用程序。你需要做什么呢?我能想到的东西屈指可数,你会 需要最低限度:

  • 一个项目结构,使用Maven或者Gradle来构建依赖,至少,你需要SpringMVC和ServletAPI来作为依赖
  • 一个web.xml文件,或者WebApplicationInitializer的实现,并且生命Spring的DispatcherServlet
  • 一个Spring配置,使得SpingMVC生效
  • 一个Controller类,可以响应“HelloWorld”的HTTP请求
  • 一个web应用程序服务器,比如Tomcat,来部署应用到上面。

  以上列表中最引人瞩目的一个其实只有一个是明确用来开发HelloWorld功能的:the Controller。其余的都是样板化的,在任何一个使用Sping开发的web应用程序中都会需要,你为什么还总要提供呢?
  假定有这么一种情况,只有controller是你需要的。最终证明,代码清单1-1中的基于Groovy的Concoller就是一个Spring应用程序完整的例子。


代码清单1-1

@RestController
class HelloController {
  @RequestMapping("/")
  def hello() {
    return "Hello World"
  }
}

  这里并没有过多的配置,没有Web.xml,不需要构建规范,甚至不需要应用程序服务器。这便是整个应用程序。Spring Boot会处理执行应用程序的组织工作。你只需要准备你的程序代码即可了。
  假定你已经安装了Spring Boot CLI,你可以在命令行执行HelloController,如下所示:
  $ spring run HelloController.groovy

  你可能也注意到,甚至不需要编译代码,Spring Boot CLI可以以未编译的形式运行。
  我选择使用Groovy写这个例子是因为使用Groovy语言可以很好的展现SpringBoot的简单性。当然,Spring Boot不一定非得需要你使用Groovy。事实上,本书中大多数写的代码我将会使用Java语言,不过可能会有一些Groovy语言穿插其中,这样更合适一些。
  你可以提前看下1.21,安装下Spring Boot CLI,试着运行下这个小web应用程序,这样你可以感觉到Spring Boot为Spring应用程序的开发带提供了那些关键部分。

results matching ""

    No results matching ""