內容回顧 | 來!來!來!手動創(chuàng)建spring boot項目了解下?

1、創(chuàng)建Maven項目
這里沒有選spring Initializr,因為我們這里說的是手動創(chuàng)建,如果用這種自動構建的方式,那豈不就失去了修bug的樂趣 ^_^ 
這里設置項目的包信息 
這里設置項目的maven配置
設置項目名稱 
項目創(chuàng)建完成后的目錄結構 
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的編譯的版本改為和我們環(huán)境對應的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、 創(chuàng)建Application
創(chuàng)建java文件夾,并設置為resource root

創(chuàng)建服務啟動入口(就是前面提到的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";}}
創(chuàng)建完后的項目結構 
5、運行測試
這里啟動就是運行前面FirstSpringBootDome 的main方法

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

總結
我在踩坑的過程中發(fā)現(xiàn),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>
評論
圖片
表情
