内容回顾 | 来!来!来!手动创建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;
@SpringBootApplication
public 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;
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public 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>
评论