目录
一、SpringBoot概述
1、Spring Boot简介:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。——【百度百科】
Spring Boot已然成为了当今最流行的微服务开发框架,传统的Spring应用程序需要配置大量的XML文件才能运行。而使用Spring Boot则只需极少的配置文件,就可以快速获得一个正常运行的Spring应用程序,而这些配置使用的都是注解的形式,不需要再配置XML文件。
2、Spring Boot特点:
1)创建独立的Spring应用程序
2)嵌入的Tomcat,无需部署WAR文件
3)简化Maven配置
4)自动配置Spring
5)提供生产就绪型功能,如指标,健康检查和外部配置
6)绝对没有代码生成并且对XML也没有配置要求
3、Spring Boot的应用场景:
在当下,互联网企业有很多,而互联网企业面临的问题也很多,这些问题可以归纳为两类:即,大数据(庞大)和高并发(庞大)。这两个问题就会造成网站访问速度的下降,造成的结果就是用户的体验度不好。要想提高用户的体验度,那么就要提高访问速度。
以大型电商系统为例,它的并发量是很大的,因为在同一时刻可能会有很多用户上这个网站去购买商品,所以电商系统的压力是很大的。因此,就需要对电商系统进行架构升级,也就是对系统进行服务的拆分(拆分架构),拆成分布式的服务架构。
将上图中的电商系统拆分为以下图所示的几个系统:
二、准备环境
- JDK1.8 下载安装及配置参考:https://blog.youkuaiyun.com/weixin_41178230/article/details/84385047
- Maven3.0+ 下载安装及配置参考:https://blog.youkuaiyun.com/weixin_41178230/article/details/84402477
- Eclipse
- STS插件(Spring Tool Suite,基于eclipseIDE环境中开发Spring应用程序的工具):提供了开箱即用的环境用于实现,调试和部署你的Spring应用程序,包括为关键的服务器和云计算、Git、Maven、AspectJ和最新的Eclipse版本提供整合支持。它其实就是一个被包装过的Eclipse,主要用于快速的开发Spring项目,我们不用再去编辑繁琐的XML配置文件,而是由工具自动生成。(Eclipse安装STS插件参考博客:https://blog.youkuaiyun.com/weixin_41178230/article/details/84497960)
三、搭建SpringBoot项目环境(两种方式)
第一种方式(使用STS插件创建):
1、打开Eclipse,点击“File”->“New”->“Other...”->“Spring Boot”->“Spring Starter Project”:
2、点击Next:
3、点击Web,勾选Web,点击Finish:
4、生成的项目结构如下图所示:
提示:它会自动帮我们下载好web项目所需要的jar包,无需我们导入jar包和关注jar包的版本号。application.properties配置文件则是放置一些资源配置文件,static目录则是放置一些静态资源,templates目录则是放置一些静态的页面。DemoApplication类是Spring Boot项目运行的入口,即启动类。
注意:Spring Boot是不怎么支持JSP开发的,它支持静态页面的语言。
第二种方式(创建一个Maven项目):
1、打开Eclipse,点击“File”->“New”->“Maven Project”:
2、点击Next:
3、选择webapp,点击Next:
4、填写相关信息,点击Finish:
5、项目结构:
6、在pom.xml文件中添加以下依赖:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
7、在src/main/resource目录下分别创建static目录、templates目录和application.properties文件(是固定的,不能写错)
8、在src/main/java目录下创建项目运行的主函数(即启动类)MySpringBootDemo(记得一定要加上注解@SpringBootApplication,否则此主函数就不具备项目入口的功能):
package springBootDemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootDemo {
public static void main(String[] args) {
//项目入口
SpringApplication.run(MySpringBootDemo.class, args);
}
}
9、运行主函数即启动类,点击主函数右键Run As->Java Application:
四、一个简单的SpringBoot项目入门案例
1、以第一个方式创建的SpringBoot为例,在src/main/java目录下新建一个com.example.demo.controller(注意:Application启动类文件的包必须是项目下的父路径,其他类的包路径必须是其子路径,虽然放在其它包下也能正常启动,但是就是在浏览器中访问不到,因为handleMapper扫描不到,可以在启动类上加上注解),在新建的包的路径下创建一个UserController类,该类的代码如下所示:
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
/**
* 返回基本类型json数据
*/
@RequestMapping("hello")
public String showHello() {
return "hello world";
}
}
2、运行该项目就是直接运行主函数即启动类,然后在浏览器的地址栏内输入localhost:8080/hello:
出现如上图所示的内容,即为成功!