时间轴:
发布时间:2017年12月
更新时间:2018年12月
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 [Baidu Baike]
一.使用Spring Boot
我们首先要New一个Spring工程,如图红框部分,我都标注了,依次点击配置好就行
然后填入组名(域名倒置,我习惯写com.我的英文名,、比如com.xxx),Artifact的话填项目名。
next
选择web页,勾选web
【可以看到,这个页面有好多技术或者框架,我们暂时不用添加,这个项目就是演示Hello World的,用不着他们,况且这些也可以在代码里面加,以后建立工程的时候,也可以通过这种idea提供的快速导入的方法来导入依赖】
一路next finish
最后我们的项目如下
等插件都下载完成后,(这应该是个漫长的下载过程……我觉得出去约个会都差不多可以了,小白的话还是等吧,不要尝试其他的方法,看的眼花缭乱)
就OK了。
这里是application,新建项目之后自动生成的,点击运行之后
出现下图。很霸气的商标(不过这时候只能在控制台看到这些信息,要想在浏览器显示,继续向下看)
接下来新建一个HelloController类(java class,暂时跟application同目录就行)
内容如下(mapping里的/Hello正是你的访问地址)
package com.example.demo;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/Hello")
public String hello(){
return "Hello Spring boot";
}
}
运行结果(注意以下访问的地址,这些地址都是需要手动访问,一般不会自己弹出来的)
二 . 小Tips
在上一部分我们的SpringBoot新工程已经跑起来了,那么我们来分析一下它的运行。
首先看一下Application的源码
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //用于开启组件扫描和自动配置
public class DemoApplication {
public static void main(String[] args) {
//负责启动引导应用程序
SpringApplication.run(DemoApplication.class, args);
}
}
不出意外你的Application应该跟我的类似。
以下文字修改自http://blog.csdn.net/sky786905664/article/details/52092415,感谢前辈知识指导。
SpringApplication是Spring Boot框架中描述Spring应用的类,它的run()方法会创建一个Spring应用上下文(Application Context)。
此外它会扫描当前应用类路径上的依赖,来判断这是一个什么样类型的应用,比如说现在我们建立的Web应用,那么SpringBoot知道之后,将会启动一个内嵌的Servlet容器(默认是Tomcat)用于处理HTTP请求。Spring WebMvc框架会将Servlet容器里收到的HTTP请求根据路径分发给对应的@Controller类进行处理,@RestController是一类特殊的@Controller,它的返回值直接作为HTTP Response的Body部分返回给浏览,这段话的理解是这样的,我们使用的SpringBoot是基于MVC架构,C为控制层,我们在容器里执行的http请求(就是浏览器打链接回车的动作)最终会分发给对应的C去处理,C处理完return的String(上面的例子,源码再贴一下)将作为HTTP Response的Body部分,那么浏览器显示了Body部分,正好就是你所看到的截图上的Hello Spring boot这一句话
package com.example.demo;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/Hello")
public String hello(){
return "Hello Spring boot";
}
}
- @RequestMapping注解表明该方法处理那些URL对应的HTTP请求,也就是我们常说的URL路由(routing),请求的分发工作是有Spring完成的。
那么我们上面代码所描述的,通过/Hello来访问它,如果我们试图访问一个不存在的url会提示404。
三.补充一个文件结构
下面,我介绍比较重要的几个文件夹的意思。
src文件夹
该文件夹里面放的是项目的主体,你编写的工程的部分都在这里面。
其中这里面有Java文件,也有resource,resource里面有static和templates和application.propertites,其中static是js和图片等网站必须资源,templats是模板文件(后面再说),application.propertites是工程的一些属性配置文件,极大的简化了我们的配置的繁琐性。
pom.xml
我们做项目时候需要用到一些别人写好的现成的工程或者框架,比如说sql,比如说jsp,比如说网页模板,等等,我们可以直接在maven库里下载,只要填写上相关信息,我们就可以下载下来了,而不必要去官网下载还得导入,这也同Gradle一样,极大的方便了开发。
而我们所有的信息都是写在pom里面的。
当然我们这是基于maven来建里的工程,如果你是用的gradle,你就需要去研究研究gradle啦,他跟maven类似。