1. 程式人生 > >使用 Spring Boot 快速構建 Spring 框架應用

使用 Spring Boot 快速構建 Spring 框架應用

轉:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/

Spring 框架對於很多 Java 開發人員來說都不陌生。自從 2002 年釋出以來,Spring 框架已經成為企業應用開發領域非常流行的基礎框架。有大量的企業應用基於 Spring 框架來開發。Spring 框架包含幾十個不同的子專案,涵蓋應用開發的不同方面。如此多的子專案和元件,一方面方便了開發人員的使用,另外一個方面也帶來了使用方面的問題。每個子專案都有一定的學習曲線。開發人員需要了解這些子專案和元件的具體細節,才能知道如何把這些子專案整合起來形成一個完整的解決方案。在如何使用這些元件上,並沒有相關的最佳實踐提供指導。對於新接觸 Spring 框架的開發人員來說,並不知道如何更好的使用這些元件。Spring 框架的另外一個常見問題是要快速建立一個可以執行的應用比較麻煩。Spring Boot 是 Spring 框架的一個新的子專案,用於建立 Spring 4.0 專案。它的開發始於 2013 年。2014 年 4 月釋出 1.0.0 版本。它可以自動配置 Spring 的各種元件,並不依賴程式碼生成和 XML 配置檔案。Spring Boot 也提供了對於常見場景的推薦元件配置。Spring Boot 可以大大提升使用 Spring 框架時的開發效率。本文將對 Spring Boot 進行詳細的介紹。

簡介

從 Spring Boot 專案名稱中的 Boot 可以看出來,Spring Boot 的作用在於建立和啟動新的基於 Spring 框架的專案。它的目的是幫助開發人員很容易的創建出獨立執行和產品級別的基於 Spring 框架的應用。Spring Boot 會選擇最適合的 Spring 子專案和第三方開源庫進行整合。大部分 Spring Boot 應用只需要非常少的配置就可以快速執行起來。

Spring Boot 包含的特性如下:

  • 建立可以獨立執行的 Spring 應用。
  • 直接嵌入 Tomcat 或 Jetty 伺服器,不需要部署 WAR 檔案。
  • 提供推薦的基礎 POM 檔案來簡化 Apache Maven 配置。
  • 儘可能的根據專案依賴來自動配置 Spring 框架。
  • 提供可以直接在生產環境中使用的功能,如效能指標、應用資訊和應用健康檢查。
  • 沒有程式碼生成,也沒有 XML 配置檔案。

通過 Spring Boot,建立新的 Spring 應用變得非常容易,而且創建出的 Spring 應用符合通用的最佳實踐。只需要簡單的幾個步驟就可以創建出一個 Web 應用。下面介紹使用 Maven 作為構建工具建立的 Spring Boot 應用。程式碼清單 1 給出了該應用的 POM 檔案。

清單 1. Spring Boot 示例應用的 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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.midgetontoes</groupId>
<artifactId>spring-boot-simple</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
 <spring.boot.version>1.1.4.RELEASE</spring.boot.version>
</properties>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 <version>${spring.boot.version}</version>
 </dependency>
</dependencies>
<build>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
 <executions>
 <execution>
 <goals>
 <goal>repackage</goal>
 </goals>
 </execution>
 </executions>
 </plugin>
 </plugins>
</build>
</project>

程式碼清單 1 中的 POM 檔案中可以看到,應用所宣告的依賴很少,只有一個“org.springframework.boot:spring-boot-starter-web”,而不是像其他 Spring 專案一樣需要宣告很多的依賴。當使用 Maven 命令“mvn dependency:tree”來檢視專案實際的依賴時,會發現其中包含了 Spring MVC 框架、SLF4J、Jackson、Hibernate Validator 和 Tomcat 等依賴。這實際上 Spring 推薦的 Web 應用中使用的開源庫的組合。程式碼清單 2 中給出了示例應用的 Java 程式碼。

清單 2. Spring Boot 示例應用的 Java 程式碼
@RestController
@EnableAutoConfiguration
public class Application {
 @RequestMapping("/")
 String home() {
 return "Hello World!";
 }
 public static void main(String[] args) throws Exception {
 SpringApplication.run(Application.class, args);
 }
}

程式碼清單 2 中的 Java 類 Application 是一個簡單的可以獨立執行的 Web 應用。直接執行該 Java 類會啟動一個內嵌的 Tomcat 伺服器執行在 8080 埠。訪問“http://localhost:8080”可以看到頁面上顯示“Hello World!”。也就是說,只需要簡單的 2 個檔案就可以啟動一個獨立執行的 Web 應用。並不需要額外安裝 Tomcat 這樣的應用伺服器,也不需要打包成 WAR 檔案。可以通過“mvn spring-boot:run”在命令列啟動該應用。在程式碼清單 1 中的 POM 檔案中添加了“org.springframework.boot:spring-boot-maven-plugin”外掛。在添加了該外掛之後,當執行“mvn package”進行打包時,會打包成一個可以直接執行的 JAR 檔案,使用“java -jar”命令就可以直接執行。這在很大程度上簡化了應用的部署,只需要安裝了 JRE 就可以執行。

程式碼清單 2 中的“@EnableAutoConfiguration”註解的作用在於讓 Spring Boot 根據應用所宣告的依賴來對 Spring 框架進行自動配置,這就減少了開發人員的工作量。註解“@RestController”和”@RequestMapping”由 Spring MVC 提供,用來建立 REST 服務。這兩個註解和 Spring Boot 本身並沒有關係。

Spring Boot 推薦的基礎 POM 檔案

上一節的程式碼清單 1 中給出的“org.springframework.boot:spring-boot-starter-web”是 Spring Boot 所提供的推薦的基礎 POM 檔案之一,用來提供建立基於 Spring MVC 的 Web 應用所需的第三方庫依賴。除了這個 POM 檔案之外,Spring Boot 還提供了其他類似的 POM 檔案。所有這些基礎 POM 依賴都在“org.springframework.boot”組中。一些重要 POM 檔案的具體說明見表 1

表 1. Spring Boot 推薦的基礎 POM 檔案
名稱 說明
spring-boot-starter 核心 POM,包含自動配置支援、日誌庫和對 YAML 配置檔案的支援。
spring-boot-starter-amqp 通過 spring-rabbit 支援 AMQP。
spring-boot-starter-aop 包含 spring-aop 和 AspectJ 來支援面向切面程式設計(AOP)。
spring-boot-starter-batch 支援 Spring Batch,包含 HSQLDB。
spring-boot-starter-data-jpa 包含 spring-data-jpa、spring-orm 和 Hibernate 來支援 JPA。
spring-boot-starter-data-mongodb 包含 spring-data-mongodb 來支援 MongoDB。
spring-boot-starter-data-rest 通過 spring-data-rest-webmvc 支援以 REST 方式暴露 Spring Data 倉庫。
spring-boot-starter-jdbc 支援使用 JDBC 訪問資料庫。
spring-boot-starter-security 包含 spring-security。
spring-boot-starter-test 包含常用的測試所需的依賴,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
spring-boot-starter-velocity 支援使用 Velocity 作為模板引擎。
spring-boot-starter-web 支援 Web 應用開發,包含 Tomcat 和 spring-mvc。
spring-boot-starter-websocket 支援使用 Tomcat 開發 WebSocket 應用。
spring-boot-starter-ws 支援 Spring Web Services。
spring-boot-starter-actuator 新增適用於生產環境的功能,如效能指標和監測等功能。
spring-boot-starter-remote-shell 新增遠端 SSH 支援。
spring-boot-starter-jetty 使用 Jetty 而不是預設的 Tomcat 作為應用伺服器。
spring-boot-starter-log4j 新增 Log4j 的支援。
spring-boot-starter-logging 使用 Spring Boot 預設的日誌框架 Logback。
spring-boot-starter-tomcat 使用 Spring Boot 預設的 Tomcat 作為應用伺服器。

所有這些 POM 依賴的好處在於為開發 Spring 應用提供了一個良好的基礎。Spring Boot 所選擇的第三方庫是經過考慮的,是比較適合產品開發的選擇。但是 Spring Boot 也提供了不同的選項,比如日誌框架可以用 Logback 或 Log4j,應用伺服器可以用 Tomcat 或 Jetty。

自動配置

Spring Boot 對於開發人員最大的好處在於可以對 Spring 應用進行自動配置。Spring Boot 會根據應用中宣告的第三方依賴來自動配置 Spring 框架,而不需要進行顯式的宣告。比如當聲明瞭對 HSQLDB 的依賴時,Spring Boot 會自動配置成使用 HSQLDB 進行資料庫操作。

Spring Boot 推薦採用基於 Java 註解的配置方式,而不是傳統的 XML。只需要在主配置 Java 類上新增“@EnableAutoConfiguration”註解就可以啟用自動配置。Spring Boot 的自動配置功能是沒有侵入性的,只是作為一種基本的預設實現。開發人員可以通過定義其他 bean 來替代自動配置所提供的功能。比如當應用中定義了自己的資料來源 bean 時,自動配置所提供的 HSQLDB 就不會生效。這給予了開發人員很大的靈活性。既可以快速的建立一個可以立即執行的原型應用,又可以不斷的修改和調整以適應應用開發在不同階段的需要。可能在應用最開始的時候,嵌入式的記憶體資料庫(如 HSQLDB)就足夠了,在後期則需要換成 MySQL 等資料庫。Spring Boot 使得這樣的切換變得很簡單。

外部化的配置

在應用中管理配置並不是一個容易的任務,尤其是在應用需要部署到多個環境中時。通常會需要為每個環境提供一個對應的屬性檔案,用來配置各自的資料庫連線資訊、伺服器資訊和第三方服務賬號等。通常的應用部署會包含開發、測試和生產等若干個環境。不同的環境之間的配置存在覆蓋關係。測試環境中的配置會覆蓋開發環境,而生產環境中的配置會覆蓋測試環境。Spring 框架本身提供了多種的方式來管理配置屬性檔案。Spring 3.1 之前可以使用 PropertyPlaceholderConfigurer。Spring 3.1 引入了新的環境(Environment)和概要資訊(Profile)API,是一種更加靈活的處理不同環境和配置檔案的方式。不過 Spring 這些配置管理方式的問題在於選擇太多,讓開發人員無所適從。Spring Boot 提供了一種統一的方式來管理應用的配置,允許開發人員使用屬性檔案、YAML 檔案、環境變數和命令列引數來定義優先順序不同的配置值。

Spring Boot 所提供的配置優先順序順序比較複雜。按照優先順序從高到低的順序,具體的列表如下所示。

  1. 命令列引數。
  2. 通過 System.getProperties() 獲取的 Java 系統引數。
  3. 作業系統環境變數。
  4. 從 java:comp/env 得到的 JNDI 屬性。
  5. 通過 RandomValuePropertySource 生成的“random.*”屬性。
  6. 應用 Jar 檔案之外的屬性檔案。
  7. 應用 Jar 檔案內部的屬性檔案。
  8. 在應用配置 Java 類(包含“@Configuration”註解的 Java 類)中通過“@PropertySource”註解宣告的屬性檔案。
  9. 通過“SpringApplication.setDefaultProperties”宣告的預設屬性。

Spring Boot 的這個配置優先順序看似複雜,其實是很合理的。比如命令列引數的優先順序被設定為最高。這樣的好處是可以在測試或生產環境中快速地修改配置引數值,而不需要重新打包和部署應用。

SpringApplication 類預設會把以“--”開頭的命令列引數轉化成應用中可以使用的配置引數,如 “--name=Alex” 會設定配置引數 “name” 的值為 “Alex”。如果不需要這個功能,可以通過 “SpringApplication.setAddCommandLineProperties(false)” 禁用解析命令列引數。

RandomValuePropertySource 可以用來生成測試所需要的各種不同型別的隨機值,從而免去了在程式碼中生成的麻煩。RandomValuePropertySource 可以生成數字和字串。數字的型別包含 int 和 long,可以限定數字的大小範圍。以“random.”作為字首的配置屬性名稱由 RandomValuePropertySource 來生成,如程式碼清單 3 所示。

清單 3. 使用 RandomValuePropertySource 生成的配置屬性
user.id=${random.value}
user.count=${random.int}
user.max=${random.long}
user.number=${random.int(100)}
user.range=${random.int[100, 1000]}

屬性檔案

屬性檔案是最常見的管理配置屬性的方式。Spring Boot 提供的 SpringApplication 類會搜尋並載入 application.properties 檔案來獲取配置屬性值。SpringApplication 類會在下面位置搜尋該檔案。

  • 當前目錄的“/config”子目錄。
  • 當前目錄。
  • classpath 中的“/config”包。
  • classpath

上面的順序也表示了該位置上包含的屬性檔案的優先順序。優先順序按照從高到低的順序排列。可以通過“spring.config.name”配置屬性來指定不同的屬性檔名稱。也可以通過“spring.config.location”來新增額外的屬性檔案的搜尋路徑。如果應用中包含多個 profile,可以為每個 profile 定義各自的屬性檔案,按照“application-{profile}”來命名。

對於配置屬性,可以在程式碼中通過“@Value”來使用,如程式碼清單 4 所示。

清單 4. 通過“@Value”來使用配置屬性
@RestController
@EnableAutoConfiguration
public class Application {
 @Value("${name}")
 private String name;
 @RequestMapping("/")
 String home() {
 return String.format("Hello %s!", name);
 }
}

程式碼清單 4 中,變數 name 的值來自配置屬性中的“name”屬性。

YAML

相對於屬性檔案來說,YAML 是一個更好的配置檔案格式。YAML 在 Ruby on Rails 中得到了很好的應用。SpringApplication 類也提供了對 YAML 配置檔案的支援,只需要新增對 SnakeYAML 的依賴即可。程式碼清單 5 給出了 application.yml 檔案的示例。

清單 5. 使用 YAML 表示的配置屬性
spring:
 profiles: development
db:
 url: jdbc:hsqldb:file:testdb
 username: sa
 password:
---
spring:
 profiles: test
db:
 url: jdbc:mysql://localhost/test
 username: test
 password: test

程式碼清單 5 中的 YAML 檔案同時給出了 development 和 test 兩個不同的 profile 的配置資訊,這也是 YAML 檔案相對於屬性檔案的優勢之一。除了使用“@Value”註解繫結配置屬性值之外,還可以使用更加靈活的方式。程式碼清單 6 給出的是使用程式碼清單 5 中的 YAML 檔案的 Java 類。通過“@ConfigurationProperties(prefix="db")”註解,配置屬性中以“db”為字首的屬性值會被自動繫結到 Java 類中同名的域上,如 url 域的值會對應屬性“db.url”的值。只需要在應用的配置類中新增“@EnableConfigurationProperties”註解就可以啟用該自動繫結功能。

清單 6. 使用 YAML 檔案的 Java 類
@Component
@ConfigurationProperties(prefix="db")
public class DBSettings {
 private String url;
 private String username;
 private String password;
}

開發 Web 應用

Spring Boot 非常適合於開發基於 Spring MVC 的 Web 應用。通過內嵌的 Tomcat 或 Jetty 伺服器,可以簡化對 Web 應用的部署。Spring Boot 通過自動配置功能對 Spring MVC 應用做了一些基本的配置,使其更加適合一般 Web 應用的開發要求。

HttpMessageConverter

Spring MVC 中使用 HttpMessageConverter 介面來在 HTTP 請求和響應之間進行訊息格式的轉換。預設情況下已經通過 Jackson 支援 JSON 和通過 JAXB 支援 XML 格式。可以通過建立自定義 HttpMessageConverters 的方式來新增其他的訊息格式轉換實現。

靜態檔案

預設情況下,Spring Boot 可以對 “/static”、“/public”、“/resources” 或 “/META-INF/resources” 目錄下的靜態檔案提供支援。同時 Spring Boot 還支援 Webjars。路徑“/webjars/**”下的內容會由 webjar 格式的 Jar 包來提供。

生產環境運維支援

與開發和測試環境不同的是,當應用部署到生產環境時,需要各種運維相關的功能的支援,包括效能指標、執行資訊和應用管理等。所有這些功能都有很多技術和開源庫可以實現。Spring Boot 對這些運維相關的功能進行了整合,形成了一個功能完備和可定製的功能集,稱之為 Actuator。只需要在 POM 檔案中增加對 “org.springframe.boot:spring-boot-starter-actuator” 的依賴就可以新增 Actuator。Actuator 在新增之後,會自動暴露一些 HTTP 服務來提供這些資訊。這些 HTTP 服務的說明如表 2

表 2. Spring Boot Actuator 所提供的 HTTP 服務
名稱 說明 是否包含敏感資訊
autoconfig 顯示 Spring Boot 自動配置的資訊。
beans 顯示應用中包含的 Spring bean 的資訊。
configprops 顯示應用中的配置引數的實際值。
dump 生成一個 thread dump。
env 顯示從 ConfigurableEnvironment 得到的環境配置資訊。
health 顯示應用的健康狀態資訊。
info 顯示應用的基本資訊。
metrics 顯示應用的效能指標。
mappings 顯示 Spring MVC 應用中通過“
@RequestMapping”新增的路徑對映。
shutdown 關閉應用。
trace 顯示應用相關的跟蹤(trace)資訊。

對於表 2中的每個服務,通過訪問名稱對應的 URL 就可以獲取到相關的資訊。如訪問“/info”就可以獲取到 info 服務對應的資訊。服務是否包含敏感資訊說明了該服務暴露出來的資訊是否包含一些比較敏感的資訊,從而確定是否需要新增相應的訪問控制,而不是對所有人都公開。所有的這些服務都是可以配置的,比如通過改變名稱來改變相應的 URL。下面對幾個重要的服務進行介紹。

health 服務

Spring Boot 預設提供了對應用本身、關係資料庫連線、MongoDB、Redis 和 Rabbit MQ 的健康狀態的檢測功能。當應用中添加了 DataSource 型別的 bean 時,Spring Boot 會自動在 health 服務中暴露資料庫連線的資訊。應用也可以提供自己的健康狀態資訊,如程式碼清單 7 所示。

清單 7. 自定義 health 服務
@Component
public class AppHealthIndicator implements HealthIndicator {
 @Override
 public Health health() {
 return Health.up().build();
 }
}

應用只需要實現 org.springframework.boot.actuate.health.HealthIndicator 介面,並返回一個 org.springframework.boot.actuate.health.Health 物件,就可以通過 health 服務來獲取所暴露的資訊。如程式碼清單 8 所示。

清單 8. health 服務返回的結果
{"status":"UP","app":{"status":"UP"},"db":{"status":"UP","database":"HSQL Database Engine","hello":1}}

info 服務

info 服務所暴露的資訊是完全由應用來確定的。應用中任何以“info.”開頭的配置引數會被自動的由 info 服務來暴露。只需要往 application.properties 中新增以“info.”開頭的引數即可,如程式碼清單 9 所示。

清單 9. 新增 info 服務所需配置引數的屬性檔案
info.app_name=My First Spring Boot Application
info.app_version=1.0.0

當訪問“/info”時,訪問的 JSON 資料如程式碼清單 10 所示。

清單 10. Info 服務返回的結果
{"app_name":"My First Spring Boot Application","app_version":"1.0.0"}

metrics 服務

當訪問 metrics 服務時,可以看到 Spring Boot 通過 SystemPublicMetrics 預設提供的一些系統的效能引數值,包括記憶體、CPU、Java 類載入和執行緒等的基本資訊。應用可以記錄其他所需要的資訊。Spring Boot 預設提供了兩種型別的效能指標記錄方式:gauge 和 counter。gauge 用來記錄單個絕對數值,counter 用來記錄增量或減量值。比如在一個 Web 應用中,可以用 counter 來記錄當前線上的使用者數量。當用戶登入時,把 counter 的值加 1;當用戶退出時,把 counter 的值減 1。程式碼清單 11 給出了一個示例。

清單 11. 自定義的 metrics 服務
@RestController
public class GreetingsController {
 @Autowired
 private CounterService counterService;
 @RequestMapping("/greet")
 public String greet() {
 counterService.increment("myapp.greet.count");
 return "Hello!";
 }
}

程式碼清單 11 中添加了對 Spring Boot 提供的 CounterService 的依賴。當 greet 方法被呼叫時,會把名稱為“myapp.greet.count”的計數器的值加 1。也就是當用戶每次訪問“/greet”時,該計算器就會被加 1。除了 CounterService 之外,還可以使用 GaugeService 來記錄絕對值。

使用 JMX 進行管理

新增 Actuator 後所暴露的 HTTP 服務只能提供只讀的資訊。如果需要對應用在執行時進行管理,則需要用到 JMX。Spring Boot 預設提供了 JMX 管理的支援。只需要通過 JDK 自帶的 JConsole 連線到應用的 JMX 伺服器,就可以看到在域“org.springframework.boot”中 mbean。可以通過 Spring 提供的 @ManagedResource、@ManagedAttribute 和 @ManagedOperation 註解來建立應用自己的 mbean。

相關推薦

使用 Spring Boot 快速構建 Spring 框架應用

轉:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架對於很多 Java 開發人員來說都不陌生。自從 2002 年釋出以來,Spring 框架已經成為企業應用開發領域非常流行的基礎

Spring Boot快速搭建Spring框架

pro eve -s return onf build 搭建 artifact version Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2E

Spring boot 快速構建 Eureka 服務

使用的Spring旗下的STS作為開發IDE,Eureka是Spring Cloud微服務元件的一部分,是用於實現服務註冊和發現的工具。 在STS中直接new 一個Spring starter Project 預設配置 選擇 eureka Server 新增元件 建

spring-boot快速構建spring-boot框架

  spring-boot是一個快速構建環境的一套框架,其設計理念是儘可能的減少xml的配置,用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。   廢話不多說,關於spring-boot是什麼具體請百度。   官網:http://

spring boot系列01--快速構建spring boot項目

註解 spring auto enc java ram fig 技術 configure 最近的項目用spring boot 框架 借此學習了一下 這裏做一下總結記錄 非常便利的一個框架 它的優缺點我就不在這背書了 想了解的可以自行度娘谷歌 說一下要寫什麽吧 其實還真不

Springboot(一):使用Intellij中的Spring Initializr來快速構建Spring Boot工程

數據 web模塊 pan tell copy ice ima intellij pom 使用Intellij中的Spring Initializr來快速構建Spring Boot工程   New---Project   可以看到圖所示的創建功能窗口。其中Initial S

使用Intellij中的Spring Initializr來快速構建Spring Boot/Clou

Spring Initializr Spring Boot Intellij 在之前的所有Spring Boot和Spring Cloud相關博文中,都會涉及Spring Boot工程的創建。而創建的方式多種多樣,我們可以通過Maven來手工構建或是通過腳手架等方式快速搭建,也可以通過《Sprin

Spring Cloud Spring Boot mybatis分布式微服務雲架構(二)使用Intellij中的Spring Initializr來快速構建Spring Boot/Cloud工程

follow 體驗 alt initial ali roo 進行 依賴管理 img 在之前的所有Spring Boot和Spring Cloud相關博文中,都會涉及Spring Boot工程的創建。而創建的方式多種多樣,我們可以通過Maven來手工構建或是通過腳手架等方式快

Spring Boot 入門篇 (一) 使用Intellij中的Spring Initializr來快速構建Spring Boot/Cloud工程

使用idea 構建 springboot 專案 原文地址:使用Intellij中的Spring Initializr來快速構建Spring Boot/Cloud工程 在之前的所有Spring Boot和Spring Cloud相關博文中,都會涉及Spring Boot工程的建立。而建立的方式

Spring Boot 1 -構建應用實踐

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

快速構建 spring-boot 專案

1. 引入pom依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w

Spring Boot 入門篇 (一) 使用Intellij中的Spring Initializr來快速構建Spring Boot/Cloud工程

使用idea 構建 springboot 專案 在之前的所有Spring Boot和Spring Cloud相關博文中,都會涉及Spring Boot工程的建立。而建立的方式多種多樣,我們可以通過Maven來手工構建或是通過腳手架等方式快速搭建,也可以通過《Spring

基於Spring security + Spring Boot + JWT的封裝框架快速入門指南

吐槽 近期做一個小玩意,打算實現前後端分離,那麼就要用到符合REST協議的API介面了。如果使用純API的話,就肯定不希望所有人都可以呼叫我的介面,所以對於API的安全就要重視了,對於我剛剛學習Spring Boot的人來說。第一就想到用Spring全家桶,百度

使用Intellij中的Spring Initializr來快速構建Spring Boot/Cloud工程(十五)

在之前的所有Spring Boot和Spring Cloud相關博文中,都會涉及Spring Boot工程的建立。而建立的方式多種多樣,我們可以通過Maven來手工構建或是通過腳手架等方式快速搭建,也可以通過《Spring Boot快速入門》一文中提到的SPRING INITIALIZR頁面工具來建立,相信每

Gradle快速構建Spring Boot專案

下載Gradle:    解壓好的Gradle目錄結構如下:    然後就是將Gradle加入到系統的環境變數中去,新增系統變數GRADLE_HOME,如下圖:    然後在Path變數後新增;%GRADLE_HOME%\bin,如下圖    配置完成之後,開啟命令列:輸入

SPRING BOOT快速搭建WEB應用教程(三)—使用DEVTOOLS實現熱部署

當我們使用spring boot 建立工程,啟動工程後如果我們需要更改工程檔案時就需要重新啟動工程,這給我們帶來了很大的不方便,因此我們就需要引入devtools實現熱部署,當修改檔案後自動重新載入啟動。 一、設定devtools 接著上一篇文章說,我們在“HelloWorld_SpringBoot”

SPRING BOOT快速搭建WEB應用教程(二)—HELLOWORLD

一、建立工程 建立名稱為”HelloWorld_SpringBoot”的spring boot工程, new->Spring Starter Project 勾選需要的業務: 二、開始編碼 建立HelloController ? 1 2 3 4 5 6 7 8

使用IntelliJ IDEA中的Spring Initializr來快速構建Spring Boot/Cloud工程

我相信許多初學者都看了Spring Boot和Spring Cloud相關的博文中,都會涉及Spring Boot工程的建立的問題。而一般所看到的都是使用IntelliJ IDEA 工具來建立,並且方

spring boot+tkmybatis構建後臺服務框架

最近一直在寫C++與C#方面的部落格,也沒有貼java方面的總結,正好有時間吧前一段時間一個springboot 後臺服務框架貼出來,幫助大家快速構建後臺,整個架構大致是採用tkmybatis做的,mapper server controller 每一層都有封裝

Keycloak快速上手指南,只需10分鐘即可接入Spring Boot/Vue前後端分離應用實現SSO單點登入

登入及身份認證是現代web應用最基本的功能之一,對於企業內部的系統,多個系統往往希望有一套SSO服務對企業使用者的登入及身份認證進行統一的管理,提升使用者同時使用多個系統的體驗,Keycloak正是為此種場景而生。本文將簡明的介紹Keycloak的安裝、使用,並給出目前較流行的前後端分離應用如何快速接入Key