开启SpringBoot的新世界
–
之前一直在折腾SSM框架,几番下来也算是对SpringMVC+Spring+Mybatis的基本使用逻辑和思路有了一些清晰的思路。框架的开发模式确实比传统的纯JavaBean和Servlet的开发更高效且结构更加清晰。但是,我也并未打算就此停住来享受SSM框架的便利。因为,在接触Spring框架之初,早已听说了Spring的另一个项目——SpringBoot,这是一个更加简洁高效框架。在阅读 SpringInAction 一书时,作者在最后便提出了SpringBoot,称其是一个改变游戏规则的产品,之所以放在全书最后是为了让读者能更好理解Spring,但是他也说了,或许在下一版的书中,我们将会在全书开篇就看见SpringBoot的身影。这也说明SpringBoot所拥有的无限潜力。
此篇博客是我第一次接触SpringBoot后的体会和学习总结,其主要内容源自于SpringBoot的官方文档开篇。
一.使用Spring Initializr 快速搭建SpringBoot项目
在Idea环境下,新建项目,选择Spring Initializr,直接点击next。
选择使用Mavean构建项目
选择Web项目,Idea会自动选择最新的SpringBoot版本,
自此,便创建好了一个完整配置的SpringBoot项目,观察其pom.xml文件,可以发现其已经引进相关的SpringBoot的配置。
二.创建第一个RESTful Web Service
此次运行目标是通过一个HTTP GET REQUSET:
得到返回的json格式数据:
{“id”:1,”content”:”Hello, World!”}
也可以传递一个名为name的参数改变返回值:
{“id”:1,”content”:”Hello, ggb!”}
现在我们开始此项目的正式编码:
1.创建一个名为hello的javabean
1 | public class hello { |
并实现其getter方法。
2.创建Controller
创建一个名为GreetingController的Java类如下:
1 | @RestController |
其中,注解 @RestController为Spring4里的新注解,它包含了 @Controller 和 @ResponseBody* 两个注解的功能。
@ResqusetMapping 同样表示映射地址为”/greeting”。
@RequestParam 将请求参数与方法参数进行绑定,并设置默认值为”World”。
counter变量用于请求计数。如此便完成了Conroller的编码。
3.运行SpringBoot
刚完成项目构建时,我们便发现了SpringBoot已经自动给我们生成了一个方法:
1 | @SpringBootApplication |
其中 @SpringBootApplication 注解囊括了一下所有功能:
- @Configuration ,即声明为一个配置类
- @EnableAutoConfiguration ,告诉SpringBoot自动配置加载其他Beans,和相关设定。
- 类似于DispatcherServlet,此声明使得其拥有SpringMVC的拦截转发功能。
- @ConponentScan 告诉Spring寻找其他组件,配置和服务在当前包下,并查找Controllers
于此,通过一个注解我们便完成了之前我们所需配置的一系列xml等的工作。需要前两个Java类放在main的同一个包下。
由于SpringBoot内置了tomcat容器,所以此时,只需要点击Application方法旁边的运行按钮,SpringBoot便可自动构建JAR文件,完成整个项目运行,并达到预期效果。当然,也可以通过传统方式,将整个项目打包成WAR文件再放置于第三方的容器运行。
三.总结
当第一次接触到SpringBoot,我便被其所带来的巨大的便利性所深深吸引。在此之前,即使框架给我们带来了结构性的设计模式,和各个类之间的关系解耦。但是,从dao层到service层,再到controller每一层结构所需要的配置都是比较繁杂的。所以,当接触到SpringBoot,其带来的喜悦和兴奋感是难以言喻的,它的出现是真正改变游戏规则的那个。以后,我也一定会对其进行深入的学习和探究的。
本文为ggb学习总结笔记和感想,若有不足或错误,欢迎指正交流
v1.5.2