Spring Boot快速搭建Spring框架

来源:http://www.cnblogs.com/peke/archive/2017/12/23/8092578.html
-Advertisement-
Play Games

Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。 它是為瞭解決企業應用開發的複雜性而創建的。框架的 ...


    Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。

 

        它是為瞭解決企業應用開發的複雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程式開發提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。

 

        然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是控制反轉(IoC)和麵向切麵(AOP)。簡單來說,Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。

 

        Spring Boot 是 Spring 框架的一個新的子項目,用於創建 Spring 4.0 項目。它的開發始於 2013 年。2014 年 4 月發佈 1.0.0 版本。它可以自動配置 Spring 的各種組件,並不依賴代碼生成和 XML 配置文件。Spring Boot 也提供了對於常見場景的推薦組件配置。Spring Boot 可以大大提升使用 Spring 框架時的開發效率。下麵本文將對 Spring Boot 進行詳細的介紹。

 

Spring Boot 包含的特性如下:

1、創建可以獨立運行的 Spring 應用。

2、直接嵌入 Tomcat 或 Jetty 伺服器,不需要部署 WAR 文件。

3、提供推薦的基礎 POM 文件來簡化 Apache Maven 配置。

4、儘可能的根據項目依賴來自動配置 Spring 框架。

5、提供可以直接在生產環境中使用的功能,如性能指標、應用信息和應用健康檢查。

6、沒有代碼生成,也沒有 XML 配置文件。

 

新建Maven功能,將下麵代碼直接複製到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>SpringBootSimple</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>

        從上面pom.xml文件中可以看到應用所聲明的依賴很少,只有一個“org.springframework.boot:spring-boot-starter-web”,而不是像其他 Spring 項目一樣需要聲明很多的依賴。

        當使用 Maven 命令“mvn dependency:tree”來查看項目實際的依賴時,會發現其中包含了 Spring MVC 框架、SLF4J、Jackson、Hibernate Validator 和 Tomcat 等依賴。這實際上 Spring 推薦的 Web 應用中使用的開源庫的組合。

 

調用Spring Boot應用Java代碼,具體如下:

 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
@EnableAutoConfiguration
public class Application {
   @RequestMapping("/")
   String index() {
      return "www.yoodb.com";  
   }      
   public static void main(String[] args) throws Exception {
         SpringApplication.run(Application.class, args);
   }
}

        Application.java類是一個簡單的可以獨立運行的 Web 應用。直接運行該 Java 類會啟動一個內嵌的 Tomcat 伺服器運行在 8080 埠。訪問“http://localhost:8080”可以看到頁面上顯示“www.yoodb.com”.只需要簡單的2個文件就可以啟動一個獨立運行的 Web 應用。並不需要額外安裝 Tomcat類似的應用伺服器,也不需要打包成WAR文件。可以通過“mvn spring-boot:run”在命令行啟動該應用。

 

        在pom.xml文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了該插件之後,當運行“mvn package”進行打包時,會打包成一個可以直接運行的 JAR 文件,使用“java -jar”命令就可以直接運行。很大程度上簡化了應用的部署,只需要安裝了 JRE 就可以運行。

 

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 其實很簡單,就是title這個屬性:(字元多餘的剪切,title顯示完整的字元) 下麵是代碼: 以下是起因: 任務:頁面上顯示個備註.某某某. 某某某:知道了(不就是怎麼用textarea 填上去的怎麼顯示。我還要textarea就行) 過了一天.... 出現了一個問題:這個textarea文本域怎 ...
  • js中的不同的數據類型之間的比較轉換規則如下: 1. 對象和布爾值比較 對象和布爾值進行比較時,對象先轉換為字元串,然後再轉換為數字,布爾值直接轉換為數字 2. 對象和字元串比較 對象和字元串進行比較時,對象轉換為字元串,然後兩者進行比較。 3. 對象和數字比較 對象和數字進行比較時,對象先轉換為字 ...
  • 本文分為三個部分 一、JS數字精度丟失的一些典型問題 1. 兩個簡單的浮點數相加 1 0.1 + 0.2 != 0.3 // true 1 0.1 + 0.2 != 0.3 // true 1 0.1 + 0.2 != 0.3 // true 1 0.1 + 0.2 != 0.3 // true 0 ...
  • Angular 是 Google 親兒子,React 是 Facebook 小正太,那咱為啥偏偏選擇了 Vue 下手,一句話,Vue 是咱見過的最對脾氣的 MVVM 框架。之前也使用過 knockout,angular,react 這些框架,但都沒有讓咱產生 follow 的衝動。直到見到 Vue,... ...
  • 1.基礎知識點 1.1 webpack 是一個現代 JavaScript 應用程式的模塊打包器(module bundler)。當 webpack 處理應用程式時,它會遞歸地構建一個依賴關係圖(dependency graph),其中包含應用程式需要的每個模塊,然後將所有這些模塊打包成一個或多個 b ...
  • 統介紹: 1.系統採用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC瀏覽器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM 普通java web(非maven, 附贈pom.xml文件) 資料庫:mysql 3.開發工具:mye ...
  • 一、模板方法定義 定義一個操作中的某種演算法的框架,而將一些步驟延遲到子類中。模板方法模式使得子類在不改變一個演算法結構的前提下,對這些步驟進行個性化定義。 二、模板方法程式構成 在模板方法設計模式中,存在一個父類,其中包括兩類方法:模板方法和步驟方法。 模板方法,即實現某種演算法的方法步驟。而這些步驟都 ...
  • 轉載自:http://blog.csdn.net/xu__cg/article/details/53024490 抽象構件 具體構建 裝飾角色 具體裝飾角色 客戶端 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...