1.什么是SpringBoot?
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。以上关于SpringBoot的概念来源于百度百科。用我自己的语言来描述就是说,SpringBoot其实从根本上上来说并不是一个新的框架,而是对于Spring框架以及其他很多框架进行了一个默认配置,让我们使用开发起来更加方便。
2.使用SpringBoot有什么好处?
简单来说,使用SpringBoot进行开发 简单、快速、方便。在没有SpringBoot之前,我们是这样来搭建一个Spring Web项目。
- 1)配置web.xml,加载Spring和Spring mvc
- 2)在application.properties/yaml中,配置数据库连接、Spring事务
- 3)对配置文件读取进行配置,开启注解,配置日志输出…
- 4)配置结束,部署在Tomcat运行调试
- …
使用这种方法不是不可以,但是我们使用的时候,搭建一个项目下来可能并不会有太多的感觉,但是你的项目模块比较多,一个一个的搭建,可能会把你逼疯。
但是如果使用SpringBoot进行搭建的话,很简单,只需要非常少的配置就可以快速的搭建一套Web项目或者搭建微服务项目。
3.快速搭建示例
这里我使用 IDEA 进行项目构建。
- 选择File -> New -> Project 弹出新建项目的框
- 选择Spring Initializr,默认勾选从 http://start.spring.io 官网进行构建,点击Next
- 填写 Maven 坐标(Group和Artifact),同时也可以选择打包方式(Jar或者War),填写无误后,点击Next
- 这里可以选择SpringBoot的版本,先不选择任何的操作。继续点击Next
- 点击Finish,等待依赖导入,完成创建
SpringBoot使用的是Maven构建方式,我们可以使用自己的Maven。
项目创建完成之后的目录结构:
如上图所示:SpringBoot的目录结构大致分为三个文件:
- src/main/java:存放我们编写的程序和程序主程序
- src/main/recources:存放资源文件(包括配置文件、静态资源文件、mapper等等)
- src/test/java:存放开发中测试代码
项目目录结构搭建建议:
- Application.java:程序的主启动类,建议放在根目录下
- controller:页面访问控制层
- service:存放业务代码
- pojo:统称实体
- model:和数据库对应的实体
- vo:用于向前端返回数据的实体对象
- bo:用于接收前端请求的实体对象
最后运行Application.java中的main方法,至此,一个纯净的Java项目搭建完毕!
引入web模块
上面只是搭建了一个java框架,并没有引入web功能模块。
1、引入web模块的第一步,添加web模块的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom.xml文件中默认有两个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
- spring-boot-starter:springboot核心starter,其中包括自动配置、yaml等等
- spring-boot-starter-test:测试模块所需要的的依赖,其中包括JUnit、Hamcrest。
引入web依赖后,下面编写代码进行测试
2、编写一个Controller
在controller包下面的UserController里面编写。
@RestController 这个注解的作用就是将我们返回的数据都已json格式返回。
@RestController
public class UserController {
@RequestMapping("/hello")
public String hello(){
return "hello world";
}
}
3、启动主程序,在浏览器地址栏输入 http://localhost:8080/hello ,可以看到输出的结果 hello world,有没有感jio很简单啊!
热部署介绍
热部署在现在日常开发中已经很常见了,具体配置是在pom.xml中添加一个devtools依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
总结
以上就是一个简单创建一个SpringBoot项目的具体实现流程,我们想要实现什么功能只需要在pom.xml中引入对应的依赖就好。
Maven仓库:https://mvnrepository.com/
本文代码已收录github:https://github.com/ifknow/spring-boot-examples/tree/master/spring-boot-helloworld