springboot简介
springboot做为微服务的开发集合框架,有着天然的好处,它不像springmvc那样笨重繁杂,springmvc众多的配置使得开发人员很厌烦,为解决众多的配置带来的烦扰,springboot采用约定大于配置的方式,即开发过程中的配置项可以不配置,spring已经内置了这些配置。例如,web服务端口默认为8080,也就是说我们不进行认为配置项目仍然可以正常运行。在这里我们推荐,对于那些不重要的配置使用默认的方式,对于那些终于的配置请使用配置的方式。
使用场景
springboot一出生就被赋予了神圣的使命,即微服务。另外springboot又可以拆分项目独立功能,为分布式架构提供了良好的基础。我们总结springboot可以使用在以下场景中,
1、微服务,即从某个大型系统中拆分出独立的公共服务;
2、前后端分离,即把前端页面和后端的业务逻辑处理分离开,单独开发互不影响;
3、分布式,即分布式的开发基础;
安装
1、网上下载
搜索“springboot”或者输入网址“https://spring.io/projects/spring-boot”,进入下面的页面
找到红框中的“spring initializr”,点击进入,如下图,
从上图可以选择项目的构建方式“maven”或“gradle”,开发平台“java”或“kotlin”等,springboot的版本,我这里选择的maven的方式,使用Java开发平台,使用的springboot的版本为最新版2.1.2。下面需要填写maven的信息group和Artifact,然后在右边选择相应的依赖,我这里需要开发web项目,我需要选择web的依赖,另外我还选择了devtools这个依赖主要是一些和开发相关的工具,像保存代码后自动重启服务等功能,如下图
填写好信息后点击上图中的绿色按钮,“Generate Project”,生成项目会提示下载信息,下载相应的zip文件。
2、导入IDE
我这里使用的eclipse,由于在第一步中我们使用的maven的方式构建的工程,所以在导入项目的时候要确保IDE中已经配置好maven的环境,请参考“maven之一:maven安装和eclipse集成”。
使用maven导入的方式,导入已存在的maven项目,如下图
然后,选择刚才从spring官网下载下的zip的解压文件,进行导入。在成功导入后,IDE会自动根据项目中的pom文件从网上下载相应的依赖文件(看个人网速)。
3、项目结构
下图是我的项目结构,
可以看到这是标准的maven的项目结构,src/main/java下是Java文件,src/main/resources是资源文件及前端页面,其他文件夹不再解释,主要的看下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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.com.my</groupId>
<artifactId>study01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>study01</name>
<description>Demo project for Spring Boot</description>
<properties>
<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-devtools</artifactId>
<scope>runtime</scope>
</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>
</project>
看下以下依赖
spring-boot-starter-web 这个是springboot的web依赖
spring-boot-devtools 这个是开发工具包
spring-boot-starter-test 这个是测试的
细心的读者会发现怎么没有springboot相关的那,我们在pom文件中上半部分,可以看到下面的配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
上面的配置即是springboot的基础配置。
使用
经过上面的配置及介绍下面开始使用。
springboot的启动方式可以是使用main方法的方式,也可以部署在tomcat等服务器下。springboot提供了启动类,如下是我项目中的启动类,
package cn.com.my.study01;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Study01Application {
public static void main(String[] args) {
SpringApplication.run(Study01Application.class, args);
}
}
这是一个普通的Java类,上面有springbootApplication的注解,运行main方法既可启动springboot项目,启动图如下
这样一个springboot项目已经运行起来了。
有不当之处欢迎指出,感谢!