step 1
建立工程目录,并创建maven的pom.xml文件
>>>mkdir
在pom.xml文件中添加内容,这里使用了2.0的build snapshot版本,所以在pom配置中添加了对应的spring的repository:
<?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>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</parent>
<!-- Additional lines to be added here... -->
<!-- (you don't need this if you are using a .RELEASE version) -->
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project>
step 2:添加spring-boot的web依赖项
添加web支持,修改 pom.xml文件,添加spring-boot的web的依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
执行一下maven 依赖性检查命令,看看是否正常。
mvn -e dependency:tree
step 3: 编写代码
创建代码目录,src/main/java
>>>mkdir src/main/java
在src/main/java下建立java文件:
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(HelloController.class, args);
}
}
熟悉spring mvc或者其他mvc框架的开发者对这些注解都会了解了。
spring-boot-starter-web添加了spring mvc框架和tomcat
@RestController -- 标注了一个rest风格的web server请求处理controller。
@RequestMapping -- 标注了一个http request处理的action。
@EnableAutoConfiguration -- 此标注提供spring boot根据我们配置的依赖项来尝试了解我们如何配置spring。因为我们添加了spring boot starter web,
它会认为我们会提供一个web应用和配置。
step 4: 运行并测试
使用maven的spring boot的plugin来启动这个web application,并访问测试一下。
- 命令行mvn-springboot-plugin方式启动
mvn spring-boot:run
- java命令启动
## 打包
>>> mvn package
## 启动
>>> java -jar target/myproject-0.0.1-SNAPSHOT.jar
- eclipse中启动
在run as(debug as)中,选择Spring Boot App来启动服务。
在启动完成后,如果服务端口没有被占用,使用浏览器访问
http://localhost:8080/
step 5: 停止
使用Ctl-c来关闭服务。
step 6: 打包为可执行的jar包
上面说到可以打包执行。可以把工程打包为可执行的jar包,然后使用’java -jar **.jar’命令来直接执行,启动服务。
先修改pom.xml,添加上build plugin,放到dependencies之后:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
现在可以执行mvn package
命令了。
执行后,根据maven pom中的配置,在target目录下生成了jar包myproject-0.0.1-SNAPSHOT.jar
。
这是可以执行java -jar target\myproject-0.0.1-SNAPSHOT.jar
来启动服务了。