1.Spring Boot 简介
- Spring Boot使您可以轻松地创建独立的、生产级的、基于Spring的应用程序,使用构建工具引入需要的依赖包,项目即可运行,大多数Spring应用程序只需要很少的Spring配置。
- Spring Boot 的配置方式和之前的Spring 是有区别的,Spring Boot 不需要写xml的配置,采用Java配置方式就是使用Java类来替代Spring原先的xml文件
- Spring Boot 支持Maven 和 Gradle 这两款构建工具。Gradle使用Groovy语言进行构建。与Maven、Ant等构建工具有良好的兼容性。因大部分对Maven比较熟悉,本书已Maven作为项目的构建工具
2.新建项目
新建项目可以基于自己的工具idea、ecplsie新建,也可以基于Spring提供的https://start.spring.io/进行构建。
2.1基于https://start.spring.io/构建
浏览器输入网址https://start.spring.io/
比如我依赖了Lombok(可不用写getter setter)
点击generator即可下载
导入到开发工具即可,缺点是只有目前最新的Spring Boot 版本
2.2使用idea构建
点击File->new->project选择Maven
点击Next,输入项目信息
点击Next
点击Finish,选择This Window 或 **New Window **均可
为了方便大家课后阅读源码,我将Spring Boot 的示例项目健在fw-spring-cloud这个聚合工程里面
2.4 Spring Boo项目配置
新建项目中,在src/mian/java 放置的是Java文件,src/main/resources放置的是项目的资源文件,src/test 则放置的是测试相关的Java文件和资源文件。
2.4.1 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">
<parent>
<artifactId>fw-sping-cloud</artifactId>
<groupId>com.yisu.cloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>fw-cloud-springboot</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
配置完成之后,会自动帮我们项目置为可启动服务,启动代码如下:
@SpringBootApplication
public class FwBootApplication {
public static void main(String[] args) {
SpringApplication.run(FwBootApplication.class, args);
}
}
项目中必须添加 @SpringBootApplication注解,声明了这是一个启动类,并且@SpringBootApplication已经为我们集成了很多注解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication
点击右键启动
默认没有配置文件的情况下,启动的端口是8080
现在我们修改配置,端修改口,在src/main/resources 下添加application.yml 文件或 application.properties文件
以下是application.yml的形式,格式化后比较清晰
server:
port: 8773
application.properties形式如下
server.port= 8773
我个人喜欢yml的配置文件,在配置文件比较多的时候比较清晰。
2.4.2新建接口
/**
* @author xuyisu
* @description hello
* @date 2019/12/13
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(String name){
return "hello:"+name;
}
}
这是一个简单的RESTFUL形式的接口,@RestController可以是返回的数据默认是JSON形式的,@RestController中主要将内容转成JSON的是@ResponseBody
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
如果使用的是@Controller就需要手动在需要返回JSON的接口上加上@ResponBody,如果不加,返回就是对应的View(页面试图)
另外说明一下@GetMapping等注解
- 如果设置的是@RequestMapping注解,默认支持get、post、put、delete请求
- @GetMapping只支持get请求
- @PostMapping 只支持post请求 可用来增删改查的接口设计
- @PutMapping 常用来作为RESTFUL的新增请求接口
- @DeleteMapping 常用来作为RESTFUL的删除请求接口
重新启动项目测一下接口,postman 输入接口
青锋开源项目地址: