今天学习了下现在比较流行的搭建框架Spring Boot ,感觉SpringBoot的优势在于对各种组件的支持,通过一些简短的配置可以实现以前需要很多操作才能完成的插件植入.让程序员把更多的时间放在对业务逻辑的思考上,节约时间成本,这是本人第一次写博客,有什么不好的地方希望多多指正,下面言归正传开始SpringBoot的学习:
SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之:
(1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形式上来说,SpringBoot完全抛弃了繁琐的XML文件配置方式,而是替代性地用注解方式来实现,虽然本质来说,是差不多的(类似包扫描,注解扫描,类加载之类)。
(2)SpringBoot集成的插件更多,从而使用很多服务,都只是引入一个依赖,几个注解和Java类就可以用了,具体的参考相关手册。
(3)在Web应用开发这一块,之前的应用一般来说是打包成war包,再发布到相关服务器容器下(例如Tomcat),虽然SpringBoot也可以这么做,但在SpringBoot下更常见的形式是将SpringBoot应用打包成可执行jar包文件。之所以这么做,源于你可以直接将SpringBoot应用看成是一个Java Application,其Web应用可以没有webapp目录(更不用说web.xml了),它推荐使用html页面,并将其作为静态资源使用。
下面具体记录一下,如何在IDEA下从零开始,一步步搭建SpringBoot Web应用,这里采用的是maven作依赖管理,新手起步,有任何疑问,请参考SpringBoot官网。
需要说明的是SpringBoot依赖的JDK版本为1.8及以上。
一.直接创建一个新的maven工程 File --> new Project 选择maven,点击next:
二,填写工程名
三 点击next 完成maven工程的创建,目录结构如下:
四 通过maven添加spring boot的依赖
1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>1.5.1.RELEASE</version> 5 </parent> 6 <dependencies> 7 <dependency> 8 <groupId>org.springframework.boot</groupId> 9 <artifactId>spring-boot-starter-web</artifactId> 10 </dependency> 11 </dependencies>
五,完成jar包导入后,新建一个controller,完成Spring Boot的官方实例(要确保mavan下载了springboot的相关依赖Jar包):
1 /** 2 * Created by Song on 2017/2/15. 3 * 官方示例工程中的测试代码 4 */ 5 @Controller 6 @EnableAutoConfiguration 7 public class SampleController { 8 @RequestMapping("/") 9 @ResponseBody 10 String home() { 11 return "Hello World!"; 12 } 13 14 public static void main(String[] args) throws Exception { 15 SpringApplication.run(SampleController.class, args); 16 } 17 }
注意到,这里有一个main函数,再联想到前面说的,SpringBoot应用一般是打包成可执行jar包来发布的,这个main函数就是整个项目的入口。而之所以能这么做,是因为SpringBoot连Tomcat8作为一个插件都集成进去了,所以就不必跟之前的SSM架构下一样,还需要去在Tomcat下配置war包才能运行。直接点击运行该main函数,再浏览器链接栏,输入地址http://localhost:8080/,就可以看到打印的字符串”Hello World!”了。这就是官网提供的一个最基本的基于SpringBoot的Web应用,如此便捷。
本随笔借鉴:http://blog.csdn.net/u013248535/article/details/55100979