SpringBoot入门

SpringBoot入门

六月 23, 2019

知识储备

在您学习SpringBoot前需要掌握以下内容:

  1. Spring框架的使用经验
  2. 熟悉使用Maven进行项目构建和依赖管理
  3. 熟练使用Eclipse或者IDEA

简介

什么是SpringBoot

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 (来自百度百科)

在J2EE十分笨重的开发,繁多的配置,低下的开发效率下,SpringBoot显得尤为重要,其作用是用来简化Spring应用的开发,去繁从简,快速的创建一个产品级的项目,简单来说就是J2EE一站式解决方案

SpringBoot优点

  1. 快速创建独立的Spring项目
  2. 使用嵌入的Servlet容器,无需打成War包
  3. starters自动依赖和版本控制
  4. 大量的自动配置,简化开发,可修改默认值
  5. 无需配置XML,无代码生成,开箱即用
  6. 准生产环境的运行时应用监控
  7. 与云计算天然集成

大时代背景:微服务(Microservices)

这是一种架构风格,一个应用是一个小型服务:通过HTTP的方式进行互通;每一个功能元素都是一个可独立替换,可独立升级的软件单元。

相关环境配置

  1. JDK1.8(配合SpringBoot版本);
  2. Maven3.X;
  3. IDEA 2017+;STS(官方推荐);
  4. SpringBoot 1.5.9RELEASE;

maven配置

需要在settings.xml中配置如下环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>

IDEA配置

不使用IDEA内置的Maven,手动配置如下:

找到Setting界面

ZCMlCR.png

将Maven home Directory中的路径换成已配置的Maven路径,将User Setting file中的路径换成本地的Maven中的Setting,并将下方俩个复选框勾选:

ZCMW5j.png

Hello World!

创建Maven工程

详情见

https://jingyan.baidu.com/article/0bc808fc37499e1bd485b90d.html

关于pom文件配置

推荐使用阿里云maven镜像,需要在maven中的setting.xml文件中配置如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>central</id>
<mirrorOf>central</mirrorOf>
<name>起一个能认识的名字</name>
<url>http://repo1.maven.org/maven2</url>
</mirror>
<mirror>
<id>nexusMirror</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://192.168.8.188:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>

在pom.xml文件中导入SpringBoot依赖

1
2
3
4
5
6
7
8
9
10
11
12
<!--导入SpringBoot依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.21.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

在pom.xml文件中导入打包插件依赖

1
2
3
4
5
6
7
8
9
<!--打包插件依赖-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

主程序的编写

在src下的com.run包下创建一个主程序类,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.run;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/*
*@SpringBootApplication用来标注主程序
* */
@SpringBootApplication
public class HelloWorld {
public static void main(String[] args) {
//Spring应用启动
SpringApplication.run(HelloWorld.class,args);
}
}

在com.run包中新建一个Controller包,创建一个Controller类,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.run.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

@ResponseBody
//接收请求
@RequestMapping("/hello")
public String hello(){
return "HelloWorld";
}
}

主程序测试

在主程序中直接右键运行,控制台会出现如下界面

1
2
3
4
5
6
7
8
9
  .   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
.......(内容省略)
2019-06-23 13:01:42.565 INFO 8256 --- [ main]s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)//表示Tomcat已经启动,端口号为8080
....(内容省略)

在浏览器中输入http://localhost:8080/hello,出现以下界面,则测试成功

ZC7GNt.png

###项目的打包

点开IDEA左下角的图标,开启双侧栏,然后操作如下图,进行打包操作

ZPEP7n.png

控制台出现以下信息,证明打包成功,并提示所存放的路径

ZPV0r4.png

利用java -jar xxxx.jar命令进行执行,完成部署

快速创建SpringBoot项目(IDE)

需要联网!!!!!!!!!!

首先点开IDE右上角的File按钮,选择New,再点击Project,弹出框后选择Spring Initializr,再选择您的JDK,再Next,如下图所示。

Z2PEQI.png

接下来便是输入您的项目名和所在包名,若出现以下问题,则说明Artifact中大小写混乱,需要改成小写。

Z2FeIS.png

Next后,弹出的界面如下,可供你选择所需要的模块,方便测试,我们只选择Web中的WebStart模块。

1562810769422

创建完毕后,目录如下所示,便完成创建

Z2kSe0.png

测试

按照前面所写的进行测试就OK

##特点

  • 主程序已经生成好,只用编写自己的逻辑
  • resoures文件夹中的目录结构
    • static:保存所有静态资源:js css images;
    • templates:保存所有模版页面;(使用嵌入式Tomcat,默认不支持JSP页面;可以使用模版引擎)
    • application.properties:SpringBoot应用配置文件;可以修改默认设置