日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

新建工程

更新時(shí)間:

SOFABoot 支持創(chuàng)建 Web 和 Core 兩種類(lèi)型的工程。

  • Web 工程

    • 通常用于需要 Web 頁(yè)面展現(xiàn)的應(yīng)用。當(dāng)用該工程類(lèi)型開(kāi)發(fā)一個(gè) Web 程序時(shí),相當(dāng)于“基于 Spring Boot 的 Web 應(yīng)用 + SOFA 中間件”進(jìn)行開(kāi)發(fā)。

    • 結(jié)合中間件 SOFAREST 服務(wù),可提供基于 JAX-RS(Java API for RESTful Web Services) 標(biāo)準(zhǔn)的前后端分離解決方案。

  • Core 工程:通常用于實(shí)現(xiàn)無(wú)頁(yè)面展現(xiàn)的后端服務(wù)。當(dāng)使用 SOFABoot 開(kāi)發(fā)一個(gè) J2SE 程序(無(wú) Web 頁(yè)面訪問(wèn)),相當(dāng)于“基于 Spring Boot 的非 Web 應(yīng)用(無(wú) servlet 依賴(lài))+ SOFA 中間件” 進(jìn)行開(kāi)發(fā)。

下文將向您介紹如何創(chuàng)建工程,并對(duì)已創(chuàng)建工程的結(jié)構(gòu)進(jìn)行說(shuō)明。

如何創(chuàng)建工程

本部分將向您介紹如何在本地使用 Maven 工具創(chuàng)建 SOFABoot Web 工程和 Core 工程。在開(kāi)始創(chuàng)建前,請(qǐng)務(wù)必參考 前置條件,完成工程運(yùn)行前的準(zhǔn)備工作。

前置條件

為執(zhí)行本文代碼示例,您需要首先搭建 SOFABoot 的運(yùn)行環(huán)境。具體步驟詳見(jiàn) 搭建環(huán)境。

操作步驟

  1. 以操作系統(tǒng)管理員身份打開(kāi)命令行工具,定位到需要?jiǎng)?chuàng)建工程的目錄,并運(yùn)行以下命令:

    • 如果使用的是 Maven 默認(rèn)安裝目錄下的 settings.xml,且已按照 搭建環(huán)境 中的要求,對(duì)原 settings.xml 進(jìn)行了覆蓋操作,則使用下述 Maven 命令進(jìn)行創(chuàng)建。

      • Web 工程:

        mvn archetype:generate -DarchetypeGroupId=com.alipay.sofa -DarchetypeArtifactId=sofaboot-web-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=internal
      • Core 工程:

        mvn archetype:generate -DarchetypeGroupId=com.alipay.sofa -DarchetypeArtifactId=sofaboot-core-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=internal
    • 如果使用的是 Maven 自定義安裝目錄下的 settings.xml,且已按照 搭建環(huán)境 中的要求,對(duì)原 settings.xml 進(jìn)行了覆蓋操作,則使用下述 Maven 命令進(jìn)行創(chuàng)建。

      • Web 工程:

        mvn -s "custom_settings_path" archetype:generate -DarchetypeGroupId=com.alipay.sofa -DarchetypeArtifactId=sofaboot-web-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=internal
      • Core 工程:

        mvn -s "custom_settings_path" archetype:generate -DarchetypeGroupId=com.alipay.sofa -DarchetypeArtifactId=sofaboot-core-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=internal
        重要

        使用自定義路徑下的 settings.xml 時(shí),請(qǐng)勿直接復(fù)制 Maven 命令,請(qǐng)把 “custom_settings_path” 替換為真實(shí)的文件路徑,例如:"C:\apache-maven-3.3.3\conf\settingsXXX.xml"

  2. 在執(zhí)行過(guò)程中,會(huì)提示您輸入以下信息,可根據(jù)實(shí)際情況進(jìn)行配置:

    • groupId:是工程在 Maven 倉(cāng)庫(kù)中的唯一標(biāo)識(shí),一般為公司域名或組織域名的反寫(xiě),如:com.yourCompanyName.sofa

      重要

      請(qǐng)按照開(kāi)發(fā)規(guī)范創(chuàng)建自己的 groupId,避免在掃描配置時(shí)出現(xiàn)問(wèn)題。

    • artifactId:表示項(xiàng)目名稱(chēng)或應(yīng)用名稱(chēng),如:web-appcore-app

    • version:版本號(hào)。默認(rèn)為 1.0-SNAPSHOT。SNAPSHOT 意為快照,說(shuō)明該項(xiàng)目還在開(kāi)發(fā)中,是不穩(wěn)定的版本。此處可維持默認(rèn)值。

    • package:應(yīng)用包名。此處可不填。

      說(shuō)明

      groupId、artifactId、version 三個(gè)元素生成了一個(gè) Maven 項(xiàng)目的基本坐標(biāo)。

  3. 完成以上配置后,會(huì)向您再次確認(rèn)信息。

    • 輸入 Y,表示確認(rèn),繼續(xù)安裝;

    • 輸入 N,表示取消,重新定義以上屬性。

  4. 屬性定義完成后,工程創(chuàng)建會(huì)繼續(xù)進(jìn)行。當(dāng)看到以下信息時(shí),表示工程創(chuàng)建完成。

    [INFO]------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO]------------------------------------------------------------------------
    [INFO]Total time:28.298 s
    [INFO]Finished at:2018-01-10T23:36:19+08:00
    [INFO]FinalMemory:15M/163M
    [INFO]------------------------------------------------------------------------
  5. 請(qǐng)移步 版本說(shuō)明,查看最新的 SOFABoot 版本,然后在步驟 1 中定位的目錄中查看新建的工程文件夾(以 artifactId 命名),然后在工程根目錄下的主 pom.xml 中,修改 <parent>標(biāo)簽的版本號(hào),示例如下:

    versionNo

工程結(jié)構(gòu)說(shuō)明

對(duì)于上面所創(chuàng)建的兩種 SOFABoot 兩種工程的目錄結(jié)構(gòu),現(xiàn)說(shuō)明如下:

為了便于理解目錄結(jié)構(gòu),本文通過(guò)示例進(jìn)行說(shuō)明。示例工程所使用的依賴(lài)信息如下:

  • groupId:com.alipay.sofa

  • artifactId:APPNAME

Web 工程原型目錄

Web 工程模型默認(rèn)生成 endpointweb 兩個(gè)模塊:

  • endpoint 模塊:SOFAREST 的服務(wù)模塊,對(duì)外提供 SOFAREST 服務(wù)。

  • web 模塊:包含 main 函數(shù)的啟動(dòng)模塊,可以直接運(yùn)行。另外,還包含全局配置文件、測(cè)試模塊和靜態(tài)資源等。

使用 Maven 命令創(chuàng)建的 Web 工程目錄結(jié)構(gòu)如下:

├── app
│├── endpoint
││├── pom.xml
││└── src
││└── main
││├── java
│││└── com
│││└── alipay
│││└── APPNAME
│││└── endpoint => SOFAREST 實(shí)踐代碼
│││├── constants
││││├──RestConstants.java
││││└──URLConstants.java
│││├── exception
││││├──CommonException.java
││││└──SofaRestExceptionHandler.java
│││├── facade
││││└──SampleRestFacade.java
│││├── filter
││││└──CommonContainerResponseFilter.java
│││├── impl
││││└──SampleRestFacadeRestImpl.java
│││├── model
││││└──DemoUserModel.java
│││└── response
│││├──AbstractFacadeResp.java
│││└──RestSampleFacadeResp.java
││└── resources
││└── META-INF
││└── APPNAME
││└── APPNAME-endpoint.xml
│└── web
│├── pom.xml
│└── src
│├── main
││├── java
│││└── com
│││└── alipay
│││└── APPNAME
│││└──Slite2WebSpringBootApplication.java =>啟動(dòng)函數(shù)
││└── resources
││├── META-INF
│││└── APPNAME =>Spring配置文件存放處,放到指定的 APPNAME 目錄下
│││└── APPNAME-web.xml
││├── config =>配置目錄,詳見(jiàn)「配置解決方案」
│││└── application.properties =>應(yīng)用的日志配置文件
│││└── application-dev.properties
│││└── application-test.properties
││├── logback-spring.xml =>應(yīng)用的日志配置文件
││└──static=> WEB 工程的靜態(tài)頁(yè)面存放處
││└── index.html
│└── test =>應(yīng)用的測(cè)試模塊,內(nèi)置啟動(dòng)了SpringBoot,方便業(yè)務(wù)測(cè)試
│└── java
│└── com
│└── alipay
│└── APPNAME
│└── web
│└── test
│├──base
││└──AbstractTestBase.java
│└── usercases
│└──SofaRestServiceTest.java
└── pom.xml =>應(yīng)用的Maven配置文件
說(shuō)明
  • 默認(rèn)情況下,靜態(tài)頁(yè)面都存放至 src/main/resources/static 目錄下以進(jìn)行統(tǒng)一管理。

  • SOFABoot 的全局屬性配置解決方案和日志配置解決方案,請(qǐng)參考 SOFABoot 技術(shù)棧的 技術(shù)棧使用指南。

  • 應(yīng)用的測(cè)試模塊,在 web 模塊的 src/test/java 目錄下,測(cè)試用例包含一個(gè)測(cè)試基類(lèi)(base)和一個(gè)測(cè)試類(lèi)(usercases),測(cè)試類(lèi)中啟動(dòng)了 Spring Boot 進(jìn)行 SOFAREST 的簡(jiǎn)單功能測(cè)試。

Core 工程原型目錄

根據(jù)實(shí)際應(yīng)用名稱(chēng),Core 工程模型會(huì)默認(rèn)生成 {APPNAME}-facade{APPNAME}-service 兩個(gè)模塊:

  • facade 模塊:定義應(yīng)用的接口依賴(lài)包。

  • service 模塊:包含 main 函數(shù)的啟動(dòng)模塊,可以直接運(yùn)行。另外,還包含全局配置文件和測(cè)試模塊。以 groupId=com.alipay.sofaartifactId=APPNAME 為例,使用 Maven 命令創(chuàng)建的 Core 工程目錄結(jié)構(gòu)如下:

├── APPNAME-facade
│├── pom.xml
│└── src =>當(dāng)前應(yīng)用用于分發(fā)給其他應(yīng)用的接口依賴(lài)包
│└── main
│└── java
│└── com
│└── alipay
│└── APPNAME
│└── facade
│└──SampleService.java
├── APPNAME-service
│├── pom.xml
│└── src
│├── main
││├── java
│││└── com
│││└── alipay
│││└── APPNAME
│││├──Slite2SpringBootAPPNAMEApplication.java =>啟動(dòng)函數(shù)
│││└── service
│││└──SampleServiceImpl.java
││└── resources
││├── META-INF
│││└── APPNAME =>Spring配置文件存放處,放到指定的 APPNAME 目錄下
│││└── APPNAME-service.xml
││├── config =>配置目錄,詳見(jiàn)「配置解決方案」
│││├── application-dev.properties
│││├── application-test.properties
│││└── application.properties
││└── logback-spring.xml =>應(yīng)用的日志配置文件
│└── test =>應(yīng)用的測(cè)試模塊,內(nèi)置啟動(dòng)了SpringBoot方便業(yè)務(wù)測(cè)試
│├── java
││└── com
││└── alipay
││└── APPNAME
││└── test
││├──base
│││└──AbstractTestBase.java
││└── usercases
││└──BeanTest.java
│└── resources
│└── test
│└── META-INF
│└── APPNAME
│└── test.xml
└── pom.xml =>應(yīng)用的Maven配置文件
說(shuō)明

SOFABoot 的全局屬性配置解決方案和日志配置解決方案,請(qǐng)參考 SOFABoot 技術(shù)棧的 技術(shù)棧使用指南。 應(yīng)用的測(cè)試模塊,在 service 模塊的 src/test/java 目錄下,測(cè)試用例包含一個(gè)測(cè)試基類(lèi)(base)和一個(gè)測(cè)試類(lèi)(usercases)。測(cè)試類(lèi)中啟動(dòng)了 Spring Boot 進(jìn)行 bean 的簡(jiǎn)單功能測(cè)試。