Spring Cloud 和 Spring Boot 的关系
Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具.这句话也就表明了,Spring Boot是构建Spring Cloud架构的基础.同时,它自身也有很多优点.网络上对它的简介非常多,大家可以自行的去百度.
Spring Boot 快速入门
在这一节,我们将建立一个简单的Spring Boot基础项目,并且实现一个Restful Api,未来的开发都会基于这个简单基础的项目结构智商来构建.
项目构建与解析
系统及工具版本要求
- JDK7及以上
- Spring Boot 2.0.2.RELEASE
- Maven3.2及以上
创建Maven项目
创建Spring Boot项目的方式有以下几种
- 通过官网 http://start.spring.io/ 工具来生成
- 手工创建Maven工程
本例中,我们使用第二种方式来创建工程.从头开始手工创建,利于踩坑,加深印象~
Maven POM文件
<?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.sagesource</groupId>
<artifactId>spring-cloud-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-cloud-server</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.BUILD-SNAPSHOT</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
新建Controller
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello World!";
}
}
建立应用启动Main方法
@SpringBootApplication
public class SpringBootServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootServerApplication.class, args);
}
}
启动Spring Boot应用
- 作为一个Java应用,直接运行上面的Main方法启动
- 在上面的Maven配置中,提到了一个spring-boot插件.我们可以运行 mvn spring-boot:run命令来启动
- 以Jar包的方式来启动,使用mav install将应用打成jar, 再通过java -jar xxx.jar来启动应用
- 默认启动在8080端口
配置文件
Spring Boot的默认配置文件目录为:src/main/resources/application.properties(yml).关于Spring Boot应用的配置内容都可以集中到该文件中.除了传统的properties文件,我们还可以使用yml文件.本例中,我们将服务启动的端口修改为:9899
server:
port: 9899
上面的写法等价于 server.port=9899
命令行参数
回顾'启动Spring Boot应用'的内容,我们知道可以通过命令行来指定配置.例如,我们将启动端口修改为9899, 可以在启动是添加'--'参数命令: java -jar xxx.jar --server.port=9899
启动服务
我们使用Main方法的方式启动,运行Main方法,查看控制台输出:
接着启动浏览器,访问: http://127.0.0.1:9899/hello
至此,一个最简单基础的Spring Boot工程搭建完成.整体项目结构如下:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。