在这里给大家介绍一下springboot的搭建及开发,本文写的很详细,是从0开始的,步骤详细,而且代码也都是完整的,大家可以拷贝回去,根据需要修改。

1,在这里我使用的工具是IDEA;首先,先建立一个maven项目,我搭建了一个springboot的maven项目,如下图所示:

spring boot的pom文件_maven

2,搭建好maven项目后,第一部是将pom.xml添加东西,也就是一些配置和依赖等;如下图,可以将此pom.xml文件复制到你的pom.xml里面去,下面是一个完整的pom文件;添加的配置和依赖都加上了注解的。添加好pom文件后记得在线下载pom文件里面的jar包

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>springboot</groupId>
  <artifactId>com.springboot.test</artifactId>
  <version>1.0-SNAPSHOT</version>
   <name>com.springboot.test Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <!-- pom继承parent -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
  </parent>

  <!-- nexus是用于建立maven私服的,这样maven仓库的jar包
  就会从整个私服中获取,url就是私服的地址 -->
  <repositories>
    <repository>
      <id>nexus</id>
      <name>Team Nexus Repository</name>
      <url>http://maven.net.cn/content/groups/public/</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>nexus</id>
      <name>Team Nexus Repository</name>
      <url>http://maven.net.cn/content/groups/public/</url>
    </pluginRepository>
  </pluginRepositories>


  <!-- 使用properties定义maven熟悉,然后在其他地方使用
  ${属性名}来引用该属性 -->
  <properties>
    <java.version>1.8</java.version>
    <mybatis.version>3.3.0</mybatis.version>
    <mybatis-spring.version>1.2.3</mybatis-spring.version>
    <commons-lang3.version>3.4</commons-lang3.version>
    <commons-io.version>2.4</commons-io.version>
    <jackson.version>2.1.5</jackson.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  <!-- 下面是项目依赖的jar包 -->
  <dependencies>
    <!-- 下面是springboot需要的依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
     <!--<exclusions> <exclusion> <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions>-->
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-tomcat</artifactId>
         <!--<scope>provided</scope>-->
     </dependency>
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
    </dependency>


    <!-- mysql 驱动 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.38</version>
    </dependency>


    <!-- 数据库连接池 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.12</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>


    <!-- httpcomponents是用来做http访问的工具 -->
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.2</version>
    </dependency>

    <!-- GENERAL UTILS begin -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${commons-lang3.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons-io.version}</version>
    </dependency>

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.15</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.9.2</version>
    </dependency>
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>4.1.0</version>
    </dependency>

    <!-- shiro spring. -->
    <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-spring</artifactId>
      <version>1.2.6</version>
    </dependency>

    <!-- shiro ehcache -->
    <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-ehcache</artifactId>
      <version>1.2.6</version>
    </dependency>
    <!--
       包含支持UI模版(Velocity,FreeMarker,JasperReports),
       邮件服务,
       脚本服务(JRuby),
       缓存Cache(EHCache),
       任务计划Scheduling(uartz)。
    -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
    </dependency>

    <!-- 集成ehcache需要的依赖-->
    <dependency>
      <groupId>net.sf.ehcache</groupId>
      <artifactId>ehcache</artifactId>
    </dependency>
    <!-- Swagger 是一系列对 RESTful 接口进行规范描述和页面展示的工具. 通过 springfox-swagger 将 Swagger 与 Spring-MVC 整合, 可从代码中的注解获取信息, 并生成相应的文档. 效果如下所示. -->
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.2.2</version>
    </dependency>

      <!-- 文件上传 -->
      <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.1</version>
      </dependency>

    <!-- spring热部署-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>springloaded</artifactId>
      <version>1.2.6.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>
      <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
      <!-- poi是用来通过Java生成office的 -->
      <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.15</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
      <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml-schemas</artifactId>
          <version>3.15</version>
      </dependency>
       <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
      <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>3.15</version>
      </dependency>


      
      <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
      <!-- xmlbeans用来更好的解析xml -->
      <dependency>
          <groupId>org.apache.xmlbeans</groupId>
          <artifactId>xmlbeans</artifactId>
          <version>2.6.0</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.jdom/jdom -->
      <!-- jdom是用来对xml的生成、解析、序列化等 -->
      <dependency>
          <groupId>org.jdom</groupId>
          <artifactId>jdom</artifactId>
          <version>1.1.3</version>
      </dependency>


  </dependencies>
  <build>
    <finalName>partner</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <!--<configuration>
          <fork>true</fork><!– 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart –>
        </configuration>-->
      </plugin>

      <!-- 是用来生成mapper.xml文件的,generatorConfig.xml就是配置 -->
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>
        <configuration>
          <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
          <verbose>true</verbose>
          <overwrite>true</overwrite>
        </configuration>
      </plugin>

    </plugins>

  </build>
    <packaging>war</packaging>
</project>



3,添加完pom文件后我们还需要在src.main.resources下面建立3个文件夹,如下图所示:

spring boot的pom文件_maven_02

在resources里面建立3个文件夹,mapper用来存放mybatis中的mapper.xml文件的;static是用来存放一些html需要用到的js,css等文件;templates是用来存放页面的,这里就是用来存放html的。

4,建立好3个文件后,我们还需要在resources里面加上4个文件第一个是logback.xml日志文件,生成log的,在spring中也有,不过在这里加了一个logback.xml代码在下面,大家可以全部拷贝到项目中,下面是一个完整的logback.xml;

<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration scan="true" scanPeriod="10 seconds">
    
	<include resource="org/springframework/boot/logging/logback/base.xml" />
	<property name="LOG_PATH" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}" />
	<logger name="org.springframework.web" level="INFO"/>
	<logger name="org.springboot.sample" level="TRACE"/>
	<logger name="com.springboot" level="info" />
	<appender name="INFO_FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${LOG_PATH}/info.log</File>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i
			</fileNamePattern>
			<timeBasedFileNamingAndTriggeringPolicy
				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>500MB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
			<maxHistory>2</maxHistory>
		</rollingPolicy>
		<layout class="ch.qos.logback.classic.PatternLayout">
			<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
				-%msg%n
			</Pattern>
		</layout>
	</appender>

	<appender name="ERROR_FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>ERROR</level>
		</filter>
		<File>${LOG_PATH}/error.log</File>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATH}/error-%d{yyyyMMdd}.log.%i
			</fileNamePattern>
			<timeBasedFileNamingAndTriggeringPolicy
				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>500MB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
			<maxHistory>2</maxHistory>
		</rollingPolicy>
		<layout class="ch.qos.logback.classic.PatternLayout">
			<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
				-%msg%n

			</Pattern>
		</layout>
	</appender>
	
	<!-- 输出到控制台中 -->
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
			</pattern>
		</encoder>
	</appender>
    
	<logger name="com.ibatis" level="INFO,DEBUG,ERROR" />
	<logger name="com.ibatis.common.jdbc.SimpleDataSource" level="INFO,DEBUG,ERROR" />
	<logger name="com.ibatis.common.jdbc.ScriptRunner" level="INFO,DEBUG,ERROR" />
	<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="INFO,DEBUG,ERROR" />
	<logger name="java.sql.Connection" level="INFO,DEBUG,ERROR" />
	<logger name="java.sql.Statement" level="INFO,DEBUG,ERROR" />
	<logger name="java.sql.PreparedStatement" level="INFO,DEBUG,ERROR" />
	<logger name="jdbc.sqltiming" level="INFO,DEBUG,ERROR"/>
    <logger name="java.sql.ResultSet" level="INFO,DEBUG,ERROR" />

	<root level="DEBUG">
	    
		<appender-ref ref="INFO_FILE" />
		<appender-ref ref="ERROR_FILE" />
	    
		<appender-ref ref="STDOUT" />
	</root>

</configuration>


第二个文件是application.properties,也就是springboot的配置文件,完整代码如下:

server.sessionTimeout=72000
#访问网站的路径http://ip:port/hb_partner
server.contextPath=/springboot

spring.profiles.active=test

mybatis.mapperLocations=classpath:mapper/*.xml
mybatis.typeAliasesPackage=com.springboot.model



########################################################
###THYMELEAF (ThymeleafAutoConfiguration)
########################################################
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
# ;charset=<encoding> is added
spring.thymeleaf.content-type=text/html
# set to false for hot refresh
spring.thymeleaf.cache=false

spring.devtools.restart.exclude=static/**,public/**,templates/**
#(这里是限制的文件大小)
multipart.maxFileSize=50Mb
multipart.maxRequestSize=50Mb


第三个文件是application-test.properties,你也可以把test改成其他的名字,都可以,但是注意格式,

application-{自定义名字}.properties,这个格式是规定的,而且这里修改名字后,要在第二个配置文件application.properties中将 spring.profiles.active = test,将这个test改成对应的自定义的那个名字


,这个文件主要是用来放数据源配置的,比如有2个数据库,一个是测试库,还有一个是正式库,这里就可以有2个这个文件,分别配置不同的数据源,然后根据需要选择其中的;

下面是application-test.properties的完整代码:记得下面数据源的配置是我个人的,所以大家在使用的时候,需要根据自己数据库地址,密码等改成自己的!!

#访问项目端口号
server.port = 8089
application.hbBizApi =http://wxtest.jbx188.com/hb-biz/
#session超时时间
server.session-timeout=72000
########################################################
###datasource
########################################################

#数据源
spring.datasource.name= test
#数据源地址
spring.datasource.url=jdbc:mysql:replication://localhost:3306,localhost:3306/SpringBoot?characterEncoding=utf-8&allowMultiQueries=true
#数据源账号密码
spring.datasource.username=root
spring.datasource.password=123456
#数据库连接池,设置配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.ReplicationDriver
spring.datasource.filters= stat
spring.datasource.maxActive= 20
spring.datasource.initialSize= 1
spring.datasource.maxWait= 20000
spring.datasource.minIdle= 1
#spring.datasource.maxIdle=20
spring.datasource.timeBetweenEvictionRunsMillis= 20000
spring.datasource.minEvictableIdleTimeMillis= 300000
spring.datasource.validationQuery=select 'x'
spring.datasource.testWhileIdle= true
spring.datasource.testOnBorrow= false
spring.datasource.testOnReturn= false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxOpenPreparedStatements= 20


#设置Tomcat最大线程数,默认值为200
server.tomcat.max-threads=800
#设置Tomcat编码
server.tomcat.uri-encoding=UTF-8
# 存放Tomcat的日志、Dump等文件的临时文件夹,默认为系统的tmp文件夹(如:C:\Users\Angel\AppData\Local\Temp)
server.tomcat.basedir=D:/springboot


#设置打印日志
logging.config=classpath:logback.xml
#日志文件目录
logging.path=e:/git/partner/log
logging.level.root=warn


第四个文件是generatorConfig.xml,mybatis的配置文件,用来自动生成mapper.java,mapper.xml和model的,完整代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--数据库驱动-->
    <!-- 数据库connector-jar的位置,因为使用的是maven,所以位置应该在.m2文件夹里 -->
    <classPathEntry location="/Users/wujuepeng/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接地址账号密码-->
        <jdbcConnection 
            driverClass="com.mysql.jdbc.Driver" 
            connectionURL="jdbc:mysql://localhost:3306/SpringBoot" userId="root" password="123456">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model类存放位置-->
        <!--targetPackage是生成的model类放在哪个包里面  -->
        <!--targetProject是包的地址  -->
        <javaModelGenerator 
            targetPackage="com.springboot.model"
            targetProject="/Users/wujuepeng/Desktop/springboot/src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成映射文件存放位置-->
        <sqlMapGenerator 
            targetPackage="mapper" 
            targetProject="/Users/wujuepeng/Desktop/springboot/src/main/resources" >
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成Dao类存放位置-->
        <javaClientGenerator 
            type="XMLMAPPER" 
            targetPackage="com.springboot.mapper"
            targetProject="/Users/wujuepeng/Desktop/springboot/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- tableName是数据库表名,
         domainObjectName是生成的domain类名,
        剩下的全部为false就好了-->
        <table tableName="user"
            domainObjectName="User"
            enableCountByExample="false"
            enableUpdateByExample="false"
            enableDeleteByExample="false"
            enableSelectByExample="false"
            selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>



在这个generatorConfig.xml配置文件中,需要改的东西有6个地方:大家一定要注意!!

1)下面这个是mysql-connect的jar,在maven项目中,jar包都是网上下载下来的,一般是在电脑的C盘里面有一个.m2文件夹,大家可以找一下,我这里是mac版本的所以没有C盘,找到mysql-connector-java-xxx.jar,然后改成你的地址。

<classPathEntry location="/Users/wujuepeng/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>

2)下面这个改的就比较简单了,mysql地址和账号密码。

<jdbcConnection 
    driverClass="com.mysql.jdbc.Driver" 
    connectionURL="jdbc:mysql://localhost:3306/SpringBoot" userId="root" password="123456">
</jdbcConnection>


3)下面改的是自动生成model类,放在什么位置,需要修改2个地方,一是targetPackage是model类放在什么包下面,二是targetProject是项目在电脑的什么位置,可以看到地址是到项目里面的java包,大家根据自己的地址进行修改就好了。

<!--生成Model类存放位置-->
<!--targetPackage是生成的model类放在哪个包里面  -->
<!--targetProject是包的地址  -->
<javaModelGenerator 
    targetPackage="com.springboot.model"
    targetProject="/Users/wujuepeng/Desktop/springboot/src/main/java">
    <property name="enableSubPackages" value="true"/>
    <property name="trimStrings" value="true"/>
</javaModelGenerator>


4)下面是对mapper.xml文件进行修改,targetPackage是在哪个包下,一开始我就让大家在resources下面建立了一个mapper文件包,就是用来这里放置自动生成的mapper.xml;所有下面只需要修改下targetProject的位置,也就是resources在电脑里面的位置。

<!--生成映射文件存放位置-->
<sqlMapGenerator 
    targetPackage="mapper" 
    targetProject="/Users/wujuepeng/Desktop/springboot/src/main/resources" >
    <property name="enableSubPackages" value="true"/>
</sqlMapGenerator>


5)下面是用来生成mapper.java文件的,同意的修改两个地方,1是targetPackage,也就是mapper.java文件放在哪个包下面,二是targetProject,也就是你的targetPackage包是在哪个目录下面的,通常都是在java文件包下面的,所以就是修改你的java文件包在你的电脑的什么位置。

<!--生成Dao类存放位置-->
<javaClientGenerator 
    type="XMLMAPPER" 
    targetPackage="com.springboot.mapper"
    targetProject="/Users/wujuepeng/Desktop/springboot/src/main/java">
    <property name="enableSubPackages" value="true"/>
</javaClientGenerator>

6)下面是数据库表的位置,既然是自动生成,当然要根据数据库表来自动生成类咯,下面tablename是指数据库的表名字,然后domainObjectName是指自动生成的model叫什么名字,然后接下来的就全是false咯,注意,下面我就写了一条,也就是一个表或者一个类的自动生成,你有多个表,同时也可以一起生成,多加几条就好了,将tableName和domainObjectName改一下就可以。

<!-- tableName是数据库表名,
 domainObjectName是生成的domain类名,
剩下的全部为false就好了-->
<table tableName="user"
    domainObjectName="User"
    enableCountByExample="false"
    enableUpdateByExample="false"
    enableDeleteByExample="false"
    enableSelectByExample="false"
    selectByExampleQueryId="false">
</table>



5,文件都加好了,resources目录结构如下图所示:

spring boot的pom文件_java_03

6,接下来需要在java文件包下面建立包,com.xxx.xxx的形式大家都清楚,在里面有一个main包,在main包的下面建立一个ApplicationApp的类,类的完整代码内容如下:

package com.springboot.main;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement
public class ApplicationApp {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationApp.class, args);
    }

}



里面是一个main方法,在springboot中都是靠main方法运行程序的,在类的上面有2个注解,第一个是@

SpringBootApplication是springboot应用的注解,第二个是 @EnableTransactionManagement是事务管理的注解。

添加好后,如下图所示:

spring boot的pom文件_idea_04



7,现在springboot就搭建好了,可以直接点击直接运行main方法,如下图:

spring boot的pom文件_maven_05


8,运行成功后,在控制台会出现下面样式:

spring boot的pom文件_springboot_06

而且在控制台中没有报错,说明你的springboot就搭建成功了

接下来是对springboot如何自动生成model,mapper.java,mapper.xml及开发项目的介绍请查看   springboot搭建和开发(下)