Spring Boot 基礎功能

2.1 基礎功能

2.1.1 相關說明

功能 說明
Maven 3.3+
JDK 1.8+
Spring Boot 2.1.14.RELEASE
Spring Framework 5.1.15.RELEASE

2.1.2 構建 Spring Boot 項目

2.1.2.1 pom文件說明

添加 web 環境依賴java

<?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>org.example</groupId>
    <artifactId>springboot-learn</artifactId>
    <version>1.0-SNAPSHOT</version>
    <description>基於Spring Boot的案例</description>
    <packaging>jar</packaging>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
    </parent>

    <dependencies>
        <!-- spring boot web 依賴 -->
        <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>

</project>
2.1.2.2 項目結構說明

Spring Boot 基礎功能

2.1.2.3 建立Controller
// @RestController 爲組合註解,等同於 Spring中的:@Controller + @ResponseBody
@RestController
public class LearnController {

    @RequestMapping("/hello")
    public String hello() {
        return "你好 Spring Boot";
    }

}
2.1.2.4 編寫啓動主程序類
@SpringBootApplication
public class LearnApplication {
    public static void main(String[] args) {
        SpringApplication.run(LearnApplication.class, args);
    }
}

問題:啓動主程序類的位置是否能夠隨便放?web

2.1.2.5 運行項目

運行項目主程序啓動類LearnApplication類,啓動成功後,能夠看見默認端口爲8080spring

Spring Boot 基礎功能
頁面輸出爲 「你好 Spring Boot」。apache

至此,構建Spring Boot項目就完成了。springboot

2.1.3 單元測試

​ 開發中,每當完成一個功能接口或業務方法編寫後,一般須要藉助單元測試驗證功能是否正確。markdown

Spring Boot對單元測試提供了很好的支持,在使用是,直接在pom.xml文件中添加app

spring-boot-starter-test測試依賴啓動器,能夠經過相關注解實現單元測試。框架

2.1.3.1 添加依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
2.1.3.2 編寫測試代碼
// 測試啓動類,並加載Spring Boot測試註解
@RunWith(SpringRunner.class)
// 標記爲Spring Boot單元測試類,並加載項目的ApplicationContext上下文環境
// classes 知道項目主程序啓動類
@SpringBootTest(classes = LearnApplication.class)
public class LearnApplicationTest {

    @Autowired
    private LearnController learnController;

    @Test
    public void test() {
        String hello = learnController.hello();
        System.out.println(hello);
    }

}

2.1.4 熱部署

​ 在開發過程當中,一般會對一段業務代碼不斷的操做修改,在修改以後每每要重啓服務,有些服務須要加載好久才能啓動成功,這種沒必要要的重複操做極大的下降了程序開發效率。爲此,Spring Boot框架專門提供了進行熱部署的依賴啓動器,用於進行項目熱部署,無需手動重啓項目。maven

2.1.4.1 添加依賴
<!-- 熱部署依賴啓動器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>
2.1.4.2 IDEA工具設置

選擇IDEA工具界面【File】-【Settings】,打卡Compiler界面,勾選【Build project automatically】ide

Spring Boot 基礎功能
點擊 Apply 應用,以及OK保存。

在項目任意界面使用組合快捷鍵【Ctrl+Alt+Shift+/】打開Maintenance選項框,選中並打開Registry頁面

Spring Boot 基礎功能

Spring Boot 基礎功能

列表中找到【compiler.automake.allow.when.app.running】,將該值Value進行勾選。用於指定IDEA工具在程序運行過程當中自動編譯,最後單擊【Close】按鈕完成設置

2.1.4.3 效果測試

啓動項目,訪問 http://localhost:8080/hello

Spring Boot 基礎功能
修改 「你好」 爲 「hello」

爲了測試熱部署的是否有效,接下來,在不關閉項目的狀況下,將LearnController類中數據修改,並保存,查看控制檯會發現項目可以自動構建和編譯,說明熱部署生效

Spring Boot 基礎功能

相關文章
相關標籤/搜索