一、目的
创建一个spring boot 的基础项目,并且实现一个简单的RESTful API ,从而对spring boot 有一个初步的了解。
二、搭建项目
1.访问 https://start.spring.io/
![选择你所需的spring boot版本,填写好group和Artifact信息 然后单击Generate project下载项目](https://img-blog.csdn.net/2018073021052375?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nc3VodWEwNzAy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
2. 解压下载好的项目,用IDEA编译工具将项目导入。File->New->Project from existing sources... 选择解压后的项目文件夹单击ok (注意:项目以Maven项目导入)![](https://img-blog.csdn.net/20180730211719881?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nc3VodWEwNzAy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
3. 一直单击next 即可 ---导入成功后可得到如下图所示目录结构:
![](https://img-blog.csdn.net/20180730211733833?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nc3VodWEwNzAy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
三、项目各模块解析
- Maven 的配置
<?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>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.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>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
guoupId 和 artifactId标签对中的信息对应我们在https://start.spring.io/下载项目时填写的项目基本信息。version表示当前项目的版本号,packaging标签对中的值为jar表示spring boot 默认将改web应用打包为jar包的形式,而不是war包。(默认的Web模块依赖会包含嵌入式的Tomcat,这样使得应用本身具备了提供web服务的能力)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
Spring Boot Starter是在SpringBoot组件中被提出来的一种概念,是一种对依赖的synthesize(合成)。starter会把所有用到的依赖都给包含进来,避免了开发者自己去引入依赖所带来的麻烦。
- 程序的入口src/main/java/ com.example.demo.DemoApplication.java
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
可以通过直接运行该类来启动程序。@SpringBootApplication 注解是Springboot 提供的统一复合注解来替代 @Configuration、@EnableAutoConfiguration、@ComponentScan 简化程序的配置。
- @Configuration 是一个类级注释,指示对象是一个bean定义的源。
- @EnableAutoConfiguration注解的类所在的包有特定的意义,并且作为默认配置使用
- @Configuration注解的类配置组件扫描指令,会自动扫描指定包下的全部标有 @Component注解 的类,并注册成bean,包括 @Component 下的子注解@Service、@Repository、@Controller。
- 配置目录 src/main/resources
用来存放配置信息,spring boot支持外部配置,例如端口号、服务名称、数据库连接信息等。如若需要存放静态资源(图片、CSS、JavaScript等)存放在static目录,Web页面的模板文件放在templates目录中。 - 单元测试目录 src/test
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
四、实现RESTful API
- 新建一个目录 如com.example.demo.controller
- 新建一个Java类
@RestController
public class FirstRESTful {
@RequestMapping("/hi")
public String hi(){
return "Hi girl !";
}
}
3.启动项目 在浏览器中输入http://localhost:8080/hi 即可看到输出结果