一篇文章帶你掌握主流辦公框架——SpringBoot( 六 )

  1. SpringBoot配置文件中引入Maven屬性
# 設置啟用的環境# 采用${}引用Maven中的屬性spring:profiles:active: ${profile.active}---#開發spring:profiles: devserver:port: 80---#生產spring:profiles: proserver:port: 81---#測試spring:profiles: testserver:port: 82---
  1. 打包并開啟服務器后,查看端口號
端口號為81那么關于Maven的測試就到這里結束
SpringBoot配置文件分類我們的環境配置可以寫于許多位置,由此我們大致分為四類:
  1. classpath:application.yml[最低](Resources的一層配置中)

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
  1. classpath:config/application.yml(Resources的二層配置中)

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
  1. classpath:config/application.yml(package后jar包同目錄下的配置文件)

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
  1. file:config/application.yml[最高]

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
我們將這些位置進行分類并排出優先級:
  • 1級:file:config/application.yml[最高]
  • 2級:file:application.yml
  • 3級:classpath:config/application.yml
  • 4級:classpath:application.yml[最低]
不同位置環境配置作用:
  • 1級與2級留作系統打包后設置通用屬性
  • 3級與4級用于系統開發階段設置通用屬性
SpringBoot整合第三方技術在基本介紹了SpringBoot之后 , 我們介紹最重要的一部分——整合第三方技術
下面我們以三個小案例來展現SpringBoot的整合
整合JUnitSpringBoot是用于簡化Spring的工具,所以我們分別從Spring和SpringBoot的視角進行整合
Spring整合JUnit我們先給出Spring整合JUnit的代碼:
// 設置運行器@RunWith(SpringJUnit4ClassRunner.class)// 加載環境@ContextConfiguration(classes = SpringConfig.class)public class UserServiceTesst{// 自動裝配測試對象@Autowiredprivate BookService bookService;// 測試方法@Testpublic void testSave(){bookService.save();}}SpringBoot整合JUnit我們從頭說起:
  1. 創建新項目(這次我們只整合JUnit , 所以我們的技術選擇選擇空白)

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
  1. 我們首先查看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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.itheima</groupId><artifactId>springboot_07_test</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.8</java.version></properties><dependencies><!--我們提供了spring-boot-starter來做依賴傳遞(web時用的是spring-boot-starter-web)--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></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>
  1. 項目自帶有一個測試Java類
// 這里就是包,倘若為com.itheima1 , classes需要設置為啟動類.classpackage com.itheima;import com.itheima.Springboot07TestApplication;import com.itheima.service.BookService;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;// 設置JUnit加載的SpringBoot啟動類(類似于@RunWith和@ContextConfiguration的整合)@SpringBootTestclass Springboot07TestApplicationTests {// 自動裝配測試對象(未發生變化)@Autowiredprivate BookService bookService;// 測試方法(未發生變化)@Testpublic void save() {bookService.save();}}/*名稱:@SpringBootTest類型:測試類注解位置:測試類定義上方作用:設置JUnit加載的SpringBoot啟動類相關屬性: classes:設置SpringBoot啟動類注意點: 如果該測試類在SpringBoot啟動類的包或子包中 , 可以省略啟動類的設置,也就是省略classes的設定 當該測試類與啟動主Java類不屬于同一目錄名稱下時,需要設置classes屬性為啟動類 @SpringBootTest(classes = Springboot07TestApplication.class)*/

推薦閱讀