You can use Spring Boot to create Java applications that can be started using java -jar or more traditional war deployments. We also provide a command line tool that runs “spring scripts”.
当前最新正式版是Spring Boot 1.5.3.RELEASE ,所以本文参考的都是该版本的文档,要求 Java 7 ,构建工具要求 Maven (3.2+) Gradle 2 (2.9 or later) and 3,官方推荐 Java 8
如果使用了homebrew,可以执行下面命令
brew tap pivotal/tap
brew install springboot
会安装spring 命令到 /usr/local/bin
新建文件 app.groovy
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
"Hello World!"
}
}
执行命令 spring run app.groovy
然后在浏览器上打开 localhost:8080
查看内容。
有三种方法:
1.https://start.spring.io/ 到这个网站填写项目元信息和依赖的包,可以自动生成 maven项目和gradle项目,生成的项目结构相对完整一些,挺不错的选择。
2.使用 Intellij idea 的 spring initializr 功能,其实和方法一类似,只是用本地IDE创建项目会更方便些。 File->New->Project->Spring Initializr
,然后填下项目信息,一路 next 即可。
3.先建个pom.xml
<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.0modelVersion>
<groupId>com.lzhenxinggroupId>
<artifactId>myprojectartifactId>
<version>0.0.1-SNAPSHOTversion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>1.5.3.RELEASEversion>
parent>
project>
执行命令 mvn package
build 项目,然后将项目导入 idea 中,生成的项目没什么目录结构,还要自己建文件夹结构,不太方便。
推荐用方法二来创建项目,方便又快捷。用第二种方法创建项目时,依赖选择 web,那么创建项目后,pom.xml 中会自动添加有关 web 的依赖包,会看到项目中 pom.xml 内容如下。
<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.0modelVersion>
<groupId>com.lzhenxinggroupId>
<artifactId>myprojectartifactId>
<version>0.0.1-SNAPSHOTversion>
<packaging>warpackaging>
<name>myprojectname>
<description>Demo project for Spring Bootdescription>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>1.5.3.RELEASEversion>
<relativePath/>
parent>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
<java.version>1.8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
<scope>providedscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
mvn dependency:tree 查看项目依赖树
在建好的项目中创建一个简单的 controller 例子
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
然后在项目根目录下执行命令
mvn spring-boot:run
启动 web 服务,然后在浏览器上打开 localhost:8080
查看内容。
和 spring 项目类似,执行 mvn package
,会在 target 目录下生成 war 包。
github 上 spring boot demo :https://github.com/lzx2011/springBootPractice
spring boot 官方文档