真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何將容器應(yīng)用于SpringBoot項(xiàng)目-創(chuàng)新互聯(lián)

這篇文章給大家分享的是將容器應(yīng)用于Spring Boot項(xiàng)目的方法,相信大部分人都還沒學(xué)會(huì)這個(gè)技能,為了讓大家學(xué)會(huì),給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

十年的西秀網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整西秀建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“西秀網(wǎng)站設(shè)計(jì)”,“西秀網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

AtSea Shop是示例店面應(yīng)用程序,可以部署在不同的操作系統(tǒng)上,并且可以針對(duì)企業(yè)開發(fā)和運(yùn)營(yíng)環(huán)境進(jìn)行自定義。 在較早的帖子中,我討論了該應(yīng)用程序的體系結(jié)構(gòu)。 在本文中,我將介紹如何設(shè)置開發(fā)環(huán)境以調(diào)試在容器中運(yùn)行的Java REST后端。

構(gòu)建REST應(yīng)用
我使用Spring Boot框架快速開發(fā)了REST后端,該后端管理AtSea Shop中使用的產(chǎn)品,客戶和訂單表。 該應(yīng)用程序利用Spring Boot的內(nèi)置應(yīng)用程序服務(wù)器,對(duì)REST接口的支持以及定義多個(gè)數(shù)據(jù)源的能力。 因?yàn)樗怯肑ava編寫的,所以與基本操作系統(tǒng)無關(guān),并且可以在Windows或Linux容器中運(yùn)行。 這使開發(fā)人員可以針對(duì)異構(gòu)體系結(jié)構(gòu)進(jìn)行構(gòu)建

項(xiàng)目設(shè)置
AtSea項(xiàng)目使用多階段構(gòu)建,這是一項(xiàng)新的Docker功能,它使我可以使用多個(gè)映像來構(gòu)建單個(gè)Docker映像,其中包含應(yīng)用程序所需的所有組件。多階段構(gòu)建使用Maven容器構(gòu)建應(yīng)用程序JAR文件。然后將JAR文件復(fù)制到Java開發(fā)工具包映像。因?yàn)镸aven不包含在應(yīng)用程序中,所以這使圖像更加緊湊和有效。同樣,React店面客戶端構(gòu)建在Node映像中,并且還將編譯應(yīng)用程序添加到最終應(yīng)用程序映像中。
我使用Eclipse編寫了AtSea應(yīng)用程序。如果你需要有關(guān)配置IntelliJ或Netbeans進(jìn)行遠(yuǎn)程調(diào)試的信息,可以查看Docker Labs存儲(chǔ)庫(kù)。你還可以在AtSea應(yīng)用程序GitHub存儲(chǔ)庫(kù)中簽出代碼。
0
我通過克隆存儲(chǔ)庫(kù)構(gòu)建了應(yīng)用程序,并通過將Root Directory設(shè)置為項(xiàng)目并單擊Finish將項(xiàng)目導(dǎo)入到Eclipse中
文件>導(dǎo)入> Maven>現(xiàn)有Maven項(xiàng)目
自從我使用Spring Boot以來,我就利用spring-devtools在應(yīng)用程序中進(jìn)行遠(yuǎn)程調(diào)試。我必須將Spring Boot-devtools依賴項(xiàng)添加到pom.xml文件中。


   org.springframework.boot
   spring-boot-devtools

請(qǐng)注意,當(dāng)應(yīng)用程序完全打包為JAR時(shí),將自動(dòng)禁用開發(fā)人員工具。 為了確保在開發(fā)期間可以使用devtools,我在spring-boot-maven構(gòu)建插件中將配置設(shè)置為false:


   
     
       org.springframework.boot
       spring-boot-maven-plugin
       
         false
       
     
   

本示例使用Docker Compose文件,該文件為開發(fā)和調(diào)試特別需要的容器創(chuàng)建了簡(jiǎn)化的構(gòu)建。

version: "3.1"
services:
  database:
   build: 
    context: ./database
   image: atsea_db
   environment:
    POSTGRES_USER: gordonuser
    POSTGRES_DB: atsea
   ports:
    - "5432:5432" 
   networks:
    - back-tier
   secrets:
    - postgres_password
  appserver:
   build:
    context: .
    dockerfile: app/Dockerfile-dev
   image: atsea_app
   ports:
    - "8080:8080"
    - "5005:5005"
   networks:
    - front-tier
    - back-tier
   secrets:
    - postgres_password
secrets:
  postgres_password:
   file: ./devsecrets/postgres_password
networks:
  front-tier:
  back-tier:
  payment:
   driver: overlay

Compose文件使用機(jī)密提供密碼和其他敏感信息(例如證書),而無需依賴環(huán)境變量。 盡管該示例使用PostgreSQL,但是應(yīng)用程序可以使用密碼連接到由Spring Boot數(shù)據(jù)源定義的任何數(shù)據(jù)庫(kù)。 從JpaConfiguration.java:

public DataSourceProperties dataSourceProperties() {
     DataSourceProperties dataSourceProperties = new DataSourceProperties();
   // Set password to connect to database using Docker secrets.
   try(BufferedReader br = new BufferedReader(new FileReader("/run/secrets/postgres_password"))) {
     StringBuilder sb = new StringBuilder();
     String line = br.readLine();
     while (line != null) {
       sb.append(line);
       sb.append(System.lineSeparator());
       line = br.readLine();
     }
     dataSourceProperties.setDataPassword(sb.toString());
   } catch (IOException e) {
     System.err.println("Could not successfully load DB password file");
   }
   return dataSourceProperties;
}

還要注意,appserver打開端口5005進(jìn)行遠(yuǎn)程調(diào)試,并且build調(diào)用Dockerfile-dev文件來構(gòu)建打開了遠(yuǎn)程調(diào)試的容器。 這在入口點(diǎn)中設(shè)置,該入口點(diǎn)指定調(diào)試器的傳輸和地址。
ENTRYPOINT ["java",

"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005","-jar",
"/app/AtSea-0.0.1-SNAPSHOT.jar"]

遠(yuǎn)程調(diào)試

要在應(yīng)用程序上啟動(dòng)遠(yuǎn)程調(diào)試,請(qǐng)使用docker-compose-dev.yml文件運(yùn)行compose。

docker-compose -f docker-compose-dev.yml up --build

Docker將構(gòu)建映像并啟動(dòng)AtSea Shop數(shù)據(jù)庫(kù)和appserver容器。 但是,只有將Eclipse的遠(yuǎn)程調(diào)試器附加到應(yīng)用程序后,應(yīng)用程序才能完全加載。 要開始遠(yuǎn)程調(diào)試,請(qǐng)單擊運(yùn)行>調(diào)試配置...。

選擇“遠(yuǎn)程Java應(yīng)用程序”,然后按新按鈕創(chuàng)建配置。 在“調(diào)試配置”面板中,為配置指定名稱,選擇AtSea項(xiàng)目,并將主機(jī)和端口的連接屬性設(shè)置為5005。單擊“應(yīng)用”>“調(diào)試”。

如何將容器應(yīng)用于Spring Boot項(xiàng)目
該應(yīng)用服務(wù)器將啟動(dòng):

appserver_1|2017-05-09 03:22:23.095 INFO 1 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
appserver_1|2017-05-09 03:22:23.118 INFO 1 --- [main] com.docker.atsea.AtSeaApp         : Started AtSeaApp in 38.923 seconds (JVM running for 109.984)

要測(cè)試遠(yuǎn)程調(diào)試,請(qǐng)?jiān)赑roductController.java上設(shè)置一個(gè)斷點(diǎn),該斷點(diǎn)將返回產(chǎn)品列表。

如何將容器應(yīng)用于Spring Boot項(xiàng)目

你可以使用curl或用于發(fā)出HTTP請(qǐng)求的選工具對(duì)其進(jìn)行測(cè)試:
curl -H "Content-Type: application/json" -X GET  http://localhost:8080/api/product/

Eclipse將切換到調(diào)試透視圖,你可以在其中逐步執(zhí)行代碼。

如何將容器應(yīng)用于Spring Boot項(xiàng)目

AtSea Shop示例顯示了使用你和你的團(tuán)隊(duì)所熟悉的工具將容器用作常規(guī)開發(fā)環(huán)境的一部分是多么容易。 下載該應(yīng)用程序以嘗試使用容器進(jìn)行開發(fā),或者將其用作你自己的Spring Boot REST應(yīng)用程序的基礎(chǔ)。

上文描述的就是將容器應(yīng)用于Spring Boot項(xiàng)目的方法,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前文章:如何將容器應(yīng)用于SpringBoot項(xiàng)目-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/dsgogd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部