springboot是spring系列框架的快速整合版,目的是简化web开发中spring以及相关框架的搭建过程,使工程师专注于业务开发。
springboot的理念是习惯优于配置,具体来收就是把许多在Javaweb开发中约定俗成的东西,比如类的命名规则,配置文件的配置方案,常用写法等进行默认化处理,封装起来。
下面就从零开始搭建SpringBoot
0.搭建springboot的前提环境
1.JDK(没有这个还怎么玩?)
2.maven(我是基于maven搭建的,gradle的请忽略)
3.一根网线(好多东西需要联网下载)
很多错误都是由于JDK或者maven和springboot的版本不匹配造成的,这类错误真的非常麻烦而且烦人,所以在搭建框架的时候需要特备注意版本问题
这里贴上我的版本:jdk1.8.0_40,apache-maven-3.5.4
1.去官网下载springboot的框架包
下载下来的就是整个空的工程文件,里面的包结构都已经定制好了,我们要做的就是往里面填业务逻辑
官网地址:https://start.spring.io/
如图,在官网填写好项目的信息后点击下载,可以得到一个压缩包
解压这个压缩包,里面就是我们要的项目了
2.导入idea(我这里使用的idea,eclipse就不管了Orz)
File->Open,找到我们解压的文件夹,打开,项目还要下载一些东西,等着就好了。
工程结构目录如图
pom文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo1</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
可以看到和我们平时搭建的工程不同的是多出了<parent>标签,同时</dependency>中不在需要定义版本号,版本统一由<parent>处理了
3.运行
可以看到我们的工程里已经包含了main方法,我们可以直接运行
运行结果如图,因为我们还没有添加任何业务代码,所以程序运行完自动结束了。目前我们大多数开发的都是web工程,所以接下来我们添加web模块。
4.添加web模块
由于我们使用maven进行依赖管理,所以直接在pom文件中添加依赖
<!--引入web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
idea默认不自动导入依赖
把左下角的这个设置点了就好了
写一个测试类
package com.example.demo1.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by Administrator on 2018/11/14.
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String sayHello(){
return "hello world!";
}
}
这里使用@RestController注释,效果相当于@Controller+@ResponseBody,直接返回一个json字串
再从main方法启动,可以看到这次就不会直接执行完退出了
打开浏览器,访问http://localhost:8080/hello,
整个世界都在等着你!
总结:springboot真的好简单,直接省略了以往开发中恶心的框架配置问题,我们一个配置文件都没有写,就把程序跑起来了,甚至连Tomcat都没使用,非常适合做一些微服务。