1. 程式人生 > >spring-boot筆記-工程搭建(一)

spring-boot筆記-工程搭建(一)

spring-boot介紹

以下內容來自《Spring Boot參考指南-中文版》。spring-boot最大的好處就是可以很快速的構建web專案,很適用於現在流行的微服務架構。

Spring Boot簡化了基於Spring的應用開發,你只需要”run”就能建立一個獨立的,產品級別的Spring應用。
我們為Spring平臺及第三方庫提供開箱即用的設定,這樣你就可以有條不紊地開始。多數Spring Boot應用只需要很少的Spring配置。
你可以使用Spring Boot建立Java應用,並使用java
-jar啟動它或採用傳統的war部署方式。我們也提供了一個執行”spring指令碼”的命令列工具。 我們主要的目標是:

  • 為所有Spring開發提供一個從根本上更快,且隨處可得的入門體驗。
  • 開箱即用,但通過不採用預設設定可以快速擺脫這種方式。
  • 提供一系列大型專案常用的非功能性特徵,比如:內嵌伺服器,安全,指標,健康檢測,外部化配置。
  • 絕對沒有程式碼生成,也不需要XML配置。

工程搭建

快速構建

  1. 進入該頁面,點選 Switch to the full version.,可以看到常用的基本配置。
    這裡寫圖片描述
  2. 至於依賴的jar包,我們可以在該頁面下面的可選項中勾選,就會新增我們需要的jar包。
  3. 點選Generate Project下載專案壓縮包,然後再用我們的開發工具開啟該maven專案即可進行開發。

手工建立

當然,我們也可以自己建立一個maven專案,手動來新增相關依賴。下面的這個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.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <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>

這個pom.xml的內容是我只配置了基本資訊,沒有配置其他jar包依賴的內容,該專案工程開啟也就一個java類,和一個空的配置檔案。重點在於parent的配置,這裡是引入springboot的核心內容及版本資訊,有興趣的同學可以自己點進去看看,裡面是把各種各樣的東西都引入了,等待著我們的開啟,如果我們在dependencies中引入相關jar包,就可以使用相關的功能。下面的spring-boot-starter是springboot的基本配置,包括自動配置支援、日誌和YAML;

目錄結構

一般目錄結構如下:

com  
  +- example  
    +- demo  
      +- Application.java  
      |  
      +- domain  
      |  +- SysInfo.java  
      |  +- SysInfoRepository.java  
      |  
      +- service  
      |  +- SysInfoService.java  
      |  
      +- controller  
      |  +- SysInfoController.java  
      |  
  1. Application.java 建議放到跟目錄下面,主要用於做一些框架配置
  2. domain目錄主要用於實體(Entity)與資料訪問層(Repository)
  3. service 層主要是業務類程式碼
  4. controller 負責頁面訪問控制

專案執行

為了更好的執行和體驗該專案,我們引入web模組,寫一個介面,通過瀏覽器訪問。

  • maven dependencies新增相關依賴
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  • Application類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;


//@RestController //相當於同時新增@Controller和@ResponseBody註解。
//@EnableAutoConfiguration
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  • 自己隨便寫一個Controller類
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by gonghao on 2017/5/31.
 */
@RestController
public class SimpleController {

    @RequestMapping("/hello")
    public String index() {
        return "Hello Spring Boot";
    }

    @RequestMapping("/test")
    public String test(){
        return "Test";
    }
}
  • 啟動方式

    1.直接執行Application.java類,右鍵run或者debug即可。
    瀏覽器輸入 http://localhost:8080/hello 訪問
    2.maven 命令列:在該專案根目錄執行命令 mvn spring-boot:run
    直到出現build-success即可。
    這裡寫圖片描述
    3.jar包方式執行:在該專案根目錄執行 mvn package,將會在target目錄下生成一個可執行的jar包,jar包中包含了所有依賴的jar包。進到target層,執行java -jar xxxx.jar 即可啟動專案
    這裡寫圖片描述
    返回上一層目錄,按住shift鍵右鍵,在此處開啟命令視窗:
    這裡寫圖片描述

  • 訪問:
    這裡寫圖片描述

至此,我們就已經完成了一個springboot的demo,相比於我們傳統的建立web工程的方式簡直不要太方便。後面我們繼續學習springboot的其他內容。