扒一扒Spring家族的前世今生( 三 )


这里先给出可以运行的代码示例 , 即使你还不熟悉Spring MVC也没有关系 , 这里只是为了说明开发比较烦琐而已 , 后面将详谈Spring MVC的开发原理 。
假设你已经导入需要的Spring和Spring MVC相关的依赖包到工程中 , 那么就可以开始配置DispatcherServlet了 。例如 , 代码清单1-1就是通过继承AbstractAnnotationConfigDispatcherServletInitializer的方式来配置Spring MVC的DispatcherServlet的 。
代码清单1-1 配置Spring MVC注意代码中加粗的地方 。这里引入了一个Java配置文件—— WebConfig.java , 它的主要作用是配置Spring MVC的核心类DispatcherServlet的上下文 , 如代码清单1-2所示 。
代码清单1-2 配置DispatcherServlet的上下文

扒一扒Spring家族的前世今生

文章插图
 
通过上面的代码 , 配置完成Spring MVC的开发环境后 , 才可以开发Spring MVC控制器Controller , 这样就可以开发一个简单的控制器(Controller) , 如代码清单1-3所示 。
代码清单1-3 开发Spring MVC控制器
扒一扒Spring家族的前世今生

文章插图
 
这样就完成了一个传统Spring MVC的开发 , 但是你还需要第三方服务器 , 如Tomcat、WebLogic等服务器去部署你的工程 。在启动服务器后 , 再打开浏览器 , 输入对应的URL , 如项目名称为SpringMVC则输入http://localhost:8080/SpringMVC/test.do , 就可以得到图1-1所示的页面 。
扒一扒Spring家族的前世今生

文章插图
图1-1 测试传统的Spring MVC项目
从上面来看 , 传统的Spring MVC开发需要配置的内容还是比较多的 , 而且对设计人员要求较高 。开发完成后 , 开发者还需要找到对应的服务器去运行 , 如Tomcat或者Jetty等 , 这样既要进行开发 , 又要进行配置和部署 , 工作量还是不少的 。
而使用Spring Boot开发后 , 你就会发现原来一切可以那么简单 。不过在入门阶段暂时不需要讨论太多的细节问题 , 这是未来需要讨论的问题 , 所以这里只展示它是如何简单而已 。首先我们在IDE中创建一个Maven工程 , 并把其名称定义为Chapter1 , 这样就可以看到一个Maven配置文件pom.xml , 将其内容修改为如代码清单1-4所示 。
代码清单1-4 配置Spring Boot依赖环境
扒一扒Spring家族的前世今生

文章插图
 
从加粗的代码中可以看到Maven的配置文件引入了多个Spring Boot的starter , Spring Boot会根据Maven配置的starter去寻找对应的依赖 , 将对应的jar包加载到工程中 , 而且它还会把绑定的服务器也加载到工程中 , 这些都不需要你再进行处理 。正如Spring Boot承诺的那样 , 绑定服务器 , 并且实现Spring的尽可能的配置 , 采用约定优于配置的原则 。这里我们只需要开发一个类就可以运行Spring Boot的应用了 , 为此新建类——Chapter1Main , 如代码清单1-5所示 。
代码清单1-5 开发Spring Boot应用
扒一扒Spring家族的前世今生

文章插图
 
好了 , 这个入门实例已经完结了 。如果你没有接触过Spring Boot那么你会十分惊讶 , 这样就配置完成Spring MVC的内容了吗?我可以回答你:“是的 , 已经完成了 , 现在完全可以使用Java Application的形式去运行类Chapter1Main 。”下面是Spring Boot的运行日志:
扒一扒Spring家族的前世今生

文章插图
 
从日志中可以看到 , Tomcat已经启动 , 并且将我们开发的Chapter1Main作为Spring MVC的控制器加载进来了 , 也将对应的路径(/test)映射到开发的test方法上 。因此 , 接下来就可以进行测试了 。打开浏览器 , 在地址栏输入http://localhost:8080/test , 可以看到如图1-2所示的结果 。
扒一扒Spring家族的前世今生

文章插图
图1-2Spring Boot运行结果
与传统的Spring MVC是不是很不一样呢?从上面的对比可以看出 , Spring Boot 允许直接进行开发 , 这就是它的优势 。在传统所需要配置的地方 , Spring Boot都进行了约定 , 也就是你可以直接以Spring Boot约定的方式进行开发和运行你的项目 。


推荐阅读