我们今天开始对SpringBoot的学习,本篇主要是Spring Boot的入门部分。
引用SpringBoot在百度百科中的含义:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
在学习之前我们可以先列出Spring Boot的优点,以供了解,其相关内容会在未来进行讲解。
了解微服务以前,我们可以相对的了解一下单体应用,什么是单体应用呢?
在单体应用的年代,一个软件应用,往往会将应用所有功能都开发和打包在一起,如图所示,这里将代码打成war包放置在Tomcat服务器上。但是,当用户访问量变大导致一台服务器无法支撑时怎么办呢?于是出现了负载均衡,后来又把静态文件分离出来形成了动静分离。但是呢所谓治标不治本,无论是负载均衡也好,动静分离也罢,都是改善和优化了部署环境,改变不了根本的缺点:
所以在这种情况下我们今天的主角——“微服务”就应运而生了,我们先来看一下典型的微服务架构:
根据上图的内容即可以很容易理解微服务架构的大体流程,客户端调用不同的服务时会先经过服务网关来进行调用,而对服务的修改与上传又可以通过服务注册中心和服务配置中心来完成。
3.1、设计目标
3.2、创建一个Maven工程,在Maven中导入依赖Jar包
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.12.RELEASE</version>
</dependency>
</dependencies>
3.3、编写一个SpringBoot主程序、启动应用
package com.lizhengi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* springBootApplication:标注一个主程序类,表示这个是一个Springboot应用
*/
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
//Spring应用启动
SpringApplication.run(HelloWorldApplication.class, args);
}
}
3.4、编写一个Controller
package com.lizhengi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* RestController:是spring4里的注解,是@ResponseBody和@Controller的缩写。
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello SpringBoot,this is my first Application";
}
}
3.5、运行main方法、查看浏览器
到这里我们的第一个SpringBoot程序HelloWorld程序就完成了。
3.6、简化部署 3.6.1、添加maven插件
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.6.2、使用mvn package进行打包
3.6.3、进入打包好的jar包所在目录找到jar包
3.6.4、使用 java -jar jar包名称 运行