spring boot 项目初始化,介绍三种方式:IntelliJ 创建、Spring CLI 创建以及手动创建,工程使用 gradle 构建工具。
IntelliJ创建- 选择 spring initializr
- 填写自己想要的配置信息
- 选择依赖包:
- 配置工程名和工程所在目录:
进入到工程,如下图所示:
创建完成。
Spring CLI创建示例:
spring init -dweb,data-jpa,h2,thymeleaf --build gradle initbycli
运行命令后会显示:
Using service at https://start.spring.io Project extracted to '/initbycli'
执行完成会看到当前目录下会多出 initbycli 目录.
.
└── initbycli
├── HELP.md
├── build.gradle
├── gradle
│ └── wrapper
│├── gradle-wrapper.jar
│└── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
├── main
│ ├── java
│ │ └── com
│ │└── example
│ │ └── initbycli
│ │ └── DemoApplication.java
│ └── resources
│├── application.properties
│├── static
│└── templates
└── test
└── java
└── com
└── example
└── initbycli
└── DemoApplicationTests.java
可以看到基本工程目录文件已经创建好了。
再看一下 Spring CLI 的说明:
$ spring help init spring init - Initialize a new project using Spring Initializr (start.spring.io) usage: spring init [options] [location] Option Description ------ ----------- -a, --artifactIdProject coordinates; infer archive name (for example 'test') -b, --boot-version Spring Boot version (for example '1.2.0.RELEASE') --build Build system to use (for example 'maven' or 'gradle') (default: maven) -d, --dependencies Comma-separated list of dependency identifiers to include in the generated project --description Project description -f, --force Force overwrite of existing files --format Format of the generated content (for example 'build' for a build file, 'project' for a project archive) (default: project) -g, --groupId Project coordinates (for example 'org.test') -j, --java-version Language level (for example '1.8') -l, --language Programming language (for example 'java') --list List the capabilities of the service. Use it to discover the dependencies and the types that are available -n, --name Project name; infer application name -p, --packaging Project packaging (for example 'jar') --package-name Package name -t, --type Project type. Not normally needed if you use -- build and/or --format. Check the capabilities of the service (--list) for more details --target URL of the service to use (default: https://start. spring.io) -v, --version Project version (for example '0.0.1-SNAPSHOT') -x, --extract Extract the project archive. Inferred if a location is specified without an extension
说明:
- 依赖: 使用 -d, --dependencies
, , 号分割. - 项目构建类型: --build
, 默认为 maven, 另一选项是 gradle. - 初始化类型: --format
, 默认为 project, 会初始化整个工程的目录结构。可选项是 build, 只会生成工程所需要的 build.gradle 文件. - 查看有哪些可以配置的:--list, 命令输出以后,内容包括可选的依赖包,工程类型和构建属性( java 版本等).
-
建立工程目录: mkdir initbyself
-
在工程目录下建立 build.gradle 文件,
cd initbyself vim build.gradle
build.gradle 内容为:
plugins { id 'org.springframework.boot' version '2.1.3.RELEASE' id 'java' } apply plugin: 'io.spring.dependency-management' group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' runtimeonly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } -
创建 setting.gradle 文件
pluginManagement {
repositories {
gradlePluginPortal()
}
}
rootProject.name = 'initbyself'
- 创建java代码目录
mkdir -p src/main/java/com/example/initbyself mkdir -p src/main/java/resources
- 创建 application
- 切换到代码目录
cd src/main/java/com/example/initbyself - 编写源码文件 DemoApplication.java
package com.example.initbyself; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
- 运行 gradle build, 结果为:
> Task :build Skipping task ':build' as it has no actions. :build (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.0 secs. BUILD SUCCESSFUL in 3s 2 actionable tasks: 2 executed
- 运行项目:
java -jar build/libs/initbyself-0.0.1-SNAPSHOT.jar . ____ _ __ _ _ /\ / ___'_ __ _ _(_)_ __ __ _ ( ( )___ | '_ | '_| | '_ / _` | \/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.3.RELEASE) . . . . . 2019-03-07 00:17:36.996 INFO 11848 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2019-03-07 00:17:36.999 INFO 11848 --- [ main] com.example.initbyself.DemoApplication : Started DemoApplication in 19.497 seconds (JVM running for 19.992)
此时,已说明工程初始化成功了。
小结以上是 Spring Boot 项目的初始化的三种方式,不一定全。第一种和第二种都依赖 https://start.spring.io 这个地址,这是官方提供的快速初始化方式,第三种是我们全手动一步一步初始化,需要对构建工具十分熟悉。



