2021-05-12 14:32:11
Spring Boot專案搭建入門教學
Spring Boot是Spring推出的一個輕量化Web框架,主要解決了Spring對於小型專案飽受詬病的設定和開發速度問題。
Spring Boot 包含的特性如下:
建立可以獨立執行的 Spring 應用。
直接嵌入 Tomcat 或 Jetty 伺服器,不需要部署 WAR 檔案。
提供推薦的基礎 POM 檔案來簡化 Apache Maven 設定。
盡可能的根據專案依賴來自動設定 Spring 框架。
提供可以直接在生產環境中使用的功能,如效能指標、應用資訊和應用健康檢查。
沒有程式碼生成,也沒有 XML 組態檔。
****第一個SpringBoot應用:****
1.構建maven專案
IDEA:
Create New Project -> Maven -> 選擇JDK ->
GroupId : com.example, ArtifactId: springBootDemo -> Project name : springBootDemo
2.編製pom.xml
<?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>springBootDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3.編製Application.Java存於myFirstProjectsrcmainjavacomexample下
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4.編製Example.java存於myFirstProjectsrcmainjavacomexampleweb下
package com.example.web;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
@RequestMapping("/hello/{myName}")
String index(@PathVariable String myName) {
return "Hello " + myName;
}
}
5.執行
在Application.java檔案上(或檔案中) 選擇Run 'Application '
如下圖:
6.存取
執行成功後,開啟瀏覽器,輸入http://localhost:8080
頁面展示Hello World!
註解詳解:
Spring boot 中常用的註解如下:
@ResponseBody
用該注解修飾的函數,會將結果直接填充到HTTP的響應體中,一般用於構建RESTful的api;
@Controller
用於定義控制器類,在spring 專案中由控制器負責將使用者發來的URL請求轉發到對應的服務介面(service層)。
@RestController
@ResponseBody和@Controller的合集
@RequestMapping
提供路由資訊,負責URL到Controller中的具體函數的對映。
@EnableAutoConfiguration
Spring Boot自動設定(auto-configuration):嘗試根據你新增的jar依賴自動設定你的Spring應用。例如,如果你的classpath下存在HSQLDB,並且你沒有手動設定任何資料庫連線beans,那麼我們將自動設定一個記憶體型(in-memory)資料庫”。你可以將@EnableAutoConfiguration或者@SpringBootApplication註解新增到一個@Configuration類上來選擇自動設定。如果發現應用了你不想要的特定自動設定類,你可以使用@EnableAutoConfiguration註解的排除屬性來禁用它們.
@ComponentScan
表示將該類自動發現(掃描)並註冊為Bean,可以自動收集所有的Spring元件,包括@Configuration類。我們經常使用@ComponentScan註解搜尋beans,並結合@Autowired註解匯入。
@Configuration
相當於傳統的xml組態檔,如果有些第三方庫需要用到xml檔案,建議仍然通過@Configuration類作為專案的設定主類——可以使用@ImportResource註解載入xml組態檔。
@SpringBootApplication
相當於@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@Import
用來匯入其他設定類。
@ImportResource
用來載入xml組態檔。
@Autowired
自動匯入依賴的bean
@Service
一般用於修飾service層的元件
@Repository
使用@Repository註解可以確保DAO或者repositories提供異常轉譯,這個註解修飾的DAO或者repositories類會被ComponetScan發現並設定,同時也不需要為它們提供XML設定項。
Spring Boot入門學習筆記 http://www.linuxidc.com/Linux/2016-10/135889.htm
Spring Boot+Nginx+Tomcat+SSL設定筆記 http://www.linuxidc.com/Linux/2016-01/127134.htm
Spring Boot 實踐心得筆記 http://www.linuxidc.com/Linux/2017-01/139576.htm
Spring Boot的啟動器Starter詳解 http://www.linuxidc.com/Linux/2016-10/136430.htm
相關文章