SpringBoot 基本使用

Spring Boot

Spring Cloud 是基於Spring Boot搭建的,本篇對SpringBoot 做一個基本的介紹和使用

本節代碼地址

GitHub: fw-sping-cloud/tree/master/fw-cloud-springboot


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/

SpringBoot 基本使用


比如我依賴了Lombok(可不用寫getter setter)

SpringBoot 基本使用


點擊generator即可下載

SpringBoot 基本使用


導入到開發工具即可,缺點是隻有目前最新的Spring Boot 版本

SpringBoot 基本使用

2.2使用idea構建

點擊File->new->project選擇Maven

SpringBoot 基本使用


點擊Next,輸入項目信息

SpringBoot 基本使用


點擊Next

SpringBoot 基本使用


點擊Finish,選擇This Window 或 **New Window **均可

SpringBoot 基本使用

為了方便大家課後閱讀源碼,我將Spring Boot 的示例項目健在fw-spring-cloud這個聚合工程裡面

2.4 Spring Boo項目配置

新建項目中,在src/mian/java 放置的是Java文件,src/main/resources放置的是項目的資源文件,src/test 則放置的是測試相關的Java文件和資源文件。

2.4.1 pom 文件配置

<code>
<project> 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>
/<code>

配置完成之後,改以來會自動幫我們項目置為可啟動服務,啟動代碼如下:

<code>@SpringBootApplication
public class FwBootApplication {
public static void main(String[] args) {
SpringApplication.run(FwBootApplication.class, args);

}
}
/<code>

項目中必須添加 @SpringBootApplication註解,聲明瞭這是一個啟動類,並且@SpringBootApplication已經為我們集成了很多註解

<code>@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
/<code>

點擊右鍵啟動

SpringBoot 基本使用


默認沒有配置文件的情況下,啟動的端口是8080

SpringBoot 基本使用


現在我們修改配置,端修改口,在src/main/resources 下添加application.yml 文件或 application.properties文件
以下是application.yml的形式,格式化後比較清晰

<code>server:
port: 8773
/<code>

application.properties形式如下

<code>server.port= 8773
/<code>

我個人喜歡yml的配置文件,在配置文件比較多的時候比較清晰。

2.4.2新建接口

<code>/**
* @author xuyisu
* @description hello
* @date 2019/12/13
*/
@RestController
public class HelloController {

@GetMapping("/hello")
public String hello(String name){
return "hello:"+name;
}
}
/<code>

這是一個簡單的RESTFUL形式的接口,@RestController可以是返回的數據默認是JSON形式的,@RestController中主要將內容轉成JSON的是@ResponseBody

<code>@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
/<code>

如果使用的是@Controller就需要手動在需要返回JSON的接口上加上@ResponBody,如果不加,返回就是對應的View(頁面試圖)

另外說明一下@GetMapping等註解

  • 如果設置的是@RequestMapping註解,默認支持get、post、put、delete請求
  • @GetMapping只支持get請求
  • @PostMapping 只支持post請求 可用來增刪改查的接口設計
  • @PutMapping 常用來作為RESTFUL的新增請求接口
  • @DeleteMapping 常用來作為RESTFUL的刪除請求接口
    重新啟動項目測一下接口,postman 輸入接口

具體關於RESTFUL請求的例子可以參見
Git:restful-api-demo
Gitee:restful-api-demo

2.6總結

本節主要講解了Spring Boot 項目的搭建、配置、及請求案例。讀者讀完此節後對Spring Boot的功能大致瞭解即可。


分享到:


相關文章: