内容回顾 | 来!来!来!手动创建spring boot项目了解下?

1、创建Maven项目
这里没有选spring Initializr,因为我们这里说的是手动创建,如果用这种自动构建的方式,那岂不就失去了修bug的乐趣 ^_^ 
这里设置项目的包信息 
这里设置项目的maven配置
设置项目名称 
项目创建完成后的目录结构 
2、 参照Spring boot官方文档修改pom.xml
修改 maven编译的jdk版本

将spring boot设置为 parent

修改后的pom.xml
<?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><groupId>io.github.syske</groupId><artifactId>firstspringbootdome</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><!-- 这里将spring boot设置为父类 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELEASE</version></parent><name>firstspringbootdome Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><!-- 这里要讲maven的编译的版本改为和我们环境对应的1.8 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- 这里配置spring的jar包 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><build><finalName>firstspringbootdome</finalName><!-- 这里设置Spring boot的插件 --><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
3、 创建Application
创建java文件夹,并设置为resource root

创建服务启动入口(就是前面提到的main方法启动)
package io.github.syske;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class FirstSpringBootDome {public static void main(String[] args) {SpringApplication.run(FirstSpringBootDome.class, args);}}
这里需要留意的是controller和Application的相对路径
package io.github.syske.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class HelloController {@RequestMapping("/hello")@ResponseBodypublic String hello() {return "hello Spring boot";}}
创建完后的项目结构 
5、运行测试
这里启动就是运行前面FirstSpringBootDome 的main方法

6、打包
打包用的是maven插件,直接双击packag就行

总结
我在踩坑的过程中发现,setting的设置可能会导致找不到类的错误,具体错误如下
java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.3</version><exclusions><exclusion><artifactId>slf4j-api</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions><scope>provided</scope></dependency>
评论
