Spring Boot快速搭建Spring架構

來源:互聯網
上載者:User

標籤:throw   release   pom   class   ble   example   測試   ping   tty   

    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 本身並沒有關係的。

Spring Boot快速搭建Spring架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.