vlambda博客
学习文章列表

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

       

       

        俗话说,不会写API接口的前端不是一个好前端!

        

        眼看着五一已经快三天过去了,想了想不能白玩过去,总得做些什么。


      之前有学过Spring boot但没有实际做一个项目,这次就给大家做一个Spring boot加Vue前后端分离的全栈项目,超详细。


       整个第一部分教程从以下列出项进行

本期主要完成前三个列项

  • 【1】怎么创建

  • 【2】怎么运行

  • 【3】代码结构

  • 【4】创建第一个接口

  • 【5】日志

  • 【6】配置文件

  • 【7】热部署

  • 【8】Git

  • 【9】Maven


| 【1】怎么创建?


两种方式创建Spring Boot项目

【第一种方式】打开浏览器输入 https://start.spring.io/

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

Spring Boot

按照下图所示选择或填写对应内容

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


接下来我们进行依赖的添加


点击 ADD DEPENDENCIES

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


添加一个基础的Spring Web依赖

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


接下来点击GENERATE

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


点击之后会下载一个压缩包zip,然后解压用IDEA打开就可以了。

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


【第二种方式】IDEA创建项目

新建项目 如图所示

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

选择依赖 Spring Web 然后点击完成

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


注意:如果构建速度很慢的情况下,可以配置一下本地Maven环境以加快构建速度。

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


setting.xml文件配置

This XML file does not appear to have any style information associated with it. The document tree is shown below.<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"> // 本地仓库路径 注意我这里是Mac环境Windows环境自行更换本地地址 <localRepository>/opt/mavenRepo</localRepository> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> </servers> <mirrors>   // 配置阿里镜像 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> <profiles> </profiles></settings>


【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


【2】怎么运行?


运行StudyApplication中的main方法 或者工具栏中快捷指令启动也可以

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

项目已启动 8080端口

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

打开浏览器访问 http://localhost:8080


【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期


提示 Whitelabel Error Page // 白标签错误页面 说明项目已经正常启动可访问


学习要点:

(1) springboot不需要配置容器,是因为使用了嵌入式容器,默认使用tomcat启动,默认端口8080 当然用传统的方式,打成war包放入单独的tomcat也是可以的。


(2) springboot项目使用main函数启动,一般放在XXXApplication类里,需要加@SpringBootApplication注解。


(3) Maven Wrapper可以不需要提前下载好Maven,由它去下载Maven。


【3】代码结构

(1)编码配置

设置整个项目编码格式

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

(2)JDK

如果项目从别人那边copy过来的,需要注意设置JDK

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

(3)Git版本管理 代码关联Git远程仓库

注意:需要提前配置好远程仓库地址
本地初始化一个仓库,设置远程仓库地址后再做push$ git init //初始化本地仓库$ git add . // 提交到本地暂存区$ git commit -m "message" // 提交修改内容描述 $ git remote add origin 远程仓库地址 // 关联远程仓库地址$ git push origin master // push 到远仓库这样就完成了版本的一次初始化。

(4)启动日志优化

  • logback日志样式修改

添加logback-spring.xml文件,内容如下:

注意:2.2.X版本,可以识别logback.xml,到2.3后只能用logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 修改一下路径-->    <property name="PATH" value="./log"></property> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern>--> <Pattern>%d{ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern> </encoder>    </appender> <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PATH}/trace.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern> </layout>    </appender> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PATH}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern> </layout> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter>    </appender> <root level="ERROR"> <appender-ref ref="ERROR_FILE" />    </root> <root level="TRACE"> <appender-ref ref="TRACE_FILE" />    </root> <root level="INFO"> <appender-ref ref="STDOUT" /> </root></configuration>

添加之前效果

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

添加之后的效果

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

  • 增加启动成功日志

改造一下  StudyApplication

package com.reolove.study;
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.core.env.Environment;
@SpringBootApplicationpublic class StudyApplication { private static final Logger LOG = LoggerFactory.getLogger(StudyApplication.class); public static void main(String[] args) { SpringApplication app =new SpringApplication(StudyApplication.class); Environment env = app.run(args).getEnvironment(); LOG.info("启动成功!"); LOG.info("地址:\thttp://127.0.0.1:{}",env.getProperty("server.port"));    }}

application.properties 文件增加启动端口

server.port=8880

效果如下:

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

  • 修改启动图案

resources 目录下增加一个banner.txt文件

【学习】超详细!SpringBoot开发RESTful规范接口教程 - 第一期

 PS: 可以生成不同的启动图案


启动后


以上就是本期教程,下期内容将完成实现一个Hello World接口 以及项目分层 启动类换位置。