国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SAP CAP篇十:理解Fiori UI的Annoation定義

這篇具有很好參考價(jià)值的文章主要介紹了SAP CAP篇十:理解Fiori UI的Annoation定義。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本系列文章

SAP CAP篇一: 快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn)
SAP CAP篇二:為Service加上數(shù)據(jù)庫(kù)支持
SAP CAP篇三:定義Model
SAP CAP篇四:為CAP添加Fiori Elements程序(1)
SAP CAP篇五:為CAP添加Fiori Elements程序(2)
SAP CAP篇六:為CAP添加Fiori Elements程序(3)
SAP CAP篇七:為CAP添加Fiori Launchpad入口 (Sandbox環(huán)境)
SAP CAP篇八:為CAP添加App Router并支持Fiori Launchpad (Sandbox環(huán)境)
SAP CAP篇九:升級(jí)為SAP CDS 7.0, CAP Java 2以及Spring Boot 3
SAP CAP篇十:理解Fiori UI的Annoation定義
SAP CAP篇十一:支持Media Object:圖片、附件等
SAP CAP篇十二:AppRouter 深入研究

官方文檔和基礎(chǔ)概念

官方文檔中當(dāng)然包含了Fiori UI的部分,不過(guò)要弄懂整個(gè)概念,也得先從OData的部分開始看起。

一切從根源說(shuō)起:

  • 不論是SAP CAP還是SAP RAP,其實(shí)都拓展了OData的定義。
  • OData的設(shè)計(jì)初衷是格式化REST風(fēng)格的API,通過(guò)$metadata, $count, $filter, $select等定義規(guī)范了POST/GET等一系列操作;
  • SAP CDS Annotation其實(shí)是在OData的metadata中添加了額外的為了UI(其實(shí)這里特指Fiori UI)定義的內(nèi)容,用來(lái)規(guī)范Fiori UI程序的組成。
  • SAP CDS Annotation的設(shè)計(jì)理念應(yīng)該是,最大簡(jiǎn)化界面層面的開發(fā),甚至可以不寫一行界面代碼的方式生成標(biāo)準(zhǔn)、統(tǒng)一的前臺(tái)程序。

SAP CAP對(duì)Fiori UI的支持

理解了上述的基礎(chǔ)概念,下面就基于前面幾篇的項(xiàng)目,研究下SAP CAP對(duì)Fiori UI是如何通過(guò)Annotation實(shí)現(xiàn)的。

package.json的新增內(nèi)容

在SAP CAP篇四:為CAP添加Fiori Elements程序(1) 為項(xiàng)目添加Fiori Elements程序時(shí),其實(shí)Application Generator自動(dòng)在項(xiàng)目的package.json文件中添加了如下依賴:

  "devDependencies": {
    "@sap/ux-specification": "^1.102.23"
  }

除了添加的依賴之外,還有如下額外的部分:

  "sapux": [
    "app/manage-books",
    "app/browse-books"
  ],

這里每條新增的項(xiàng)目就對(duì)應(yīng)每個(gè)新添加的Fiori Elements。

Annotation定義

上述package.json只是讓編譯器知道在編譯時(shí)查找Annotation定義,以輸出Annotation相關(guān)的定義為Metadata。

Annotation定義則是保存在對(duì)應(yīng)的Annotation CDS文件中。具體來(lái)說(shuō),在本例中,對(duì)應(yīng)的Annotation定義存放在fiori-service.cds中。

本篇沒(méi)法具體介紹所有的Annotation,僅使用最常用的List Page來(lái)進(jìn)行說(shuō)明。

List Page

SAP CAP篇十:理解Fiori UI的Annoation定義,Spring Boot,ABAP/SAP,Web Programming,SAP CAP,SAP CDS,Fiori Elements,SAP BTP,Cloud Native

List Page由上面的Filter Bar加Table構(gòu)成。

  • 前者由UI.SelectionFields定義。
  • 后者由UI.LineItem來(lái)定義。這里定義的LineItem其實(shí)是定義Table中的Column。
annotate service.Books with @(
    UI.SelectionFields: [ ID, title, descr ],
    UI.LineItem : [
        {
            $Type : 'UI.DataField',
            Value : title,
        },
        {
            $Type : 'UI.DataField',
            Value : descr,
        },
        {
            $Type : 'UI.DataField',
            Value : stock,
        },
        {
            $Type : 'UI.DataField',
            Value : price,
        },
        {
            $Type : 'UI.DataField',
            Value : currency_code,
        },
        {
            $Type: 'UI.DataField',
            Value: category_ID
        }
    ]
);

生成的Edmx文件

與SAP CAP Node.js版本不同,SAP CAP Java項(xiàng)目只能通過(guò)生成的edmx文件來(lái)查看上述Annotation。

參見(jiàn)項(xiàng)目 srv\src\main\resources\edmx文件夾,通常其中有很多xml文件,文件命名中指定了相關(guān)的語(yǔ)言版本。

      <Annotations Target="AdminService.Books">
        <Annotation Term="UI.SelectionFields">
          <Collection>
            <PropertyPath>ID</PropertyPath>
            <PropertyPath>title</PropertyPath>
            <PropertyPath>descr</PropertyPath>
          </Collection>
        </Annotation>
        <Annotation Term="UI.LineItem">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="title"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="descr"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="stock"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="price"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="currency_code"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="category_ID"/>
            </Record>
          </Collection>
        </Annotation>

對(duì)應(yīng)代碼及branch

與本文配套的代碼參見(jiàn)這里。

本篇對(duì)應(yīng)的branch是6_cds7。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-563937.html

到了這里,關(guān)于SAP CAP篇十:理解Fiori UI的Annoation定義的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SAP Fiori開發(fā)中的JavaScript基礎(chǔ)知識(shí)15 - 原型,object,constructor,class,繼承

    SAP Fiori開發(fā)中的JavaScript基礎(chǔ)知識(shí)15 - 原型,object,constructor,class,繼承

    本文將介紹JavaScript中的核心概念 - 原型,并會(huì)介紹基于原型的應(yīng)用場(chǎng)景object,constructor,class,繼承。 本文會(huì)將這幾個(gè)核心概念匯總在一篇博客中,因?yàn)檫@些概念是觸類旁通的,希望對(duì)你有幫助。 在JavaScript中,幾乎所有的東西都是對(duì)象,每個(gè)對(duì)象都有一個(gè) 特殊的內(nèi)部屬性

    2024年04月23日
    瀏覽(43)
  • SAP CAP篇二:為Service加上數(shù)據(jù)庫(kù)支持

    SAP CAP篇二:為Service加上數(shù)據(jù)庫(kù)支持

    在篇一快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn)中,可見(jiàn)使用SAP CAP (Cloud Programming Model)確實(shí)可以提高開發(fā)效率。尤其是Java技術(shù)棧上,對(duì)比于之前使用Olingo框架來(lái)實(shí)現(xiàn)oData,使用SAP CAP真的可以做到指數(shù)級(jí)別的效率提升。 當(dāng)然,篇一中介紹的Service只使用了內(nèi)存來(lái)存儲(chǔ)和讀取數(shù)據(jù)。

    2023年04月22日
    瀏覽(17)
  • 【Spring Boot】(三)深入理解 Spring Boot 日志

    【Spring Boot】(三)深入理解 Spring Boot 日志

    在現(xiàn)代軟件開發(fā)中, 日志是一項(xiàng)至關(guān)重要的工具,它記錄了應(yīng)用程序運(yùn)行過(guò)程中的關(guān)鍵信息,當(dāng)程序運(yùn)行出現(xiàn)錯(cuò)誤的時(shí)候,可以幫助開發(fā)人員快速識(shí)別和解決存在的問(wèn)題 。通過(guò)合理的日志記錄,能夠幫助我們更好地了解應(yīng)用程序的運(yùn)行情況,從而提高應(yīng)用程序的穩(wěn)定性和可

    2024年02月14日
    瀏覽(26)
  • 【Spring Boot】Spring Boot的系統(tǒng)配置 — 自定義配置項(xiàng)

    本節(jié)將介紹Spring Boot實(shí)現(xiàn)自定義配置項(xiàng)(也稱為配置屬性)。在項(xiàng)目開發(fā)的過(guò)程中,經(jīng)常需要自定義系統(tǒng)業(yè)務(wù)方面的配置文件及配置項(xiàng),Spring Boot如何實(shí)現(xiàn)自定義屬性配置呢?其實(shí)非常簡(jiǎn)單,Spring Boot提供了**@Value注解**、 @ConfigurationProperties注解 和 Environment接口 等3種方式自定

    2024年02月16日
    瀏覽(15)
  • 46、如何理解Spring Boot中的Starter

    使用spring + springmvc,如果需要引入mybatis等框架,需要到xml中定義mybatis需要的bean starter就是定義一個(gè)starter的iar包,寫一個(gè)@Configuration配置類、將這些bean定義在里面,然后在starter包的META-INF/spring.factories中寫入該配置類,springboot會(huì)按照約定來(lái)加載該配置類 開發(fā)人員只需要將相應(yīng)

    2024年02月16日
    瀏覽(39)
  • 深入理解 Spring Boot 的 ApplicationRunner 接口

    在 Spring Boot 應(yīng)用程序啟動(dòng)時(shí),有時(shí)我們需要執(zhí)行一些特定的任務(wù)。Spring Boot 提供了 ApplicationRunner 接口,允許我們?cè)趹?yīng)用程序完全啟動(dòng)后執(zhí)行自定義的邏輯。本文將深入介紹 ApplicationRunner 接口,以及如何通過(guò)它來(lái)實(shí)現(xiàn)應(yīng)用程序啟動(dòng)后的任務(wù)。 初始化邏輯: 在應(yīng)用程序啟動(dòng)時(shí)

    2024年04月22日
    瀏覽(27)
  • “深入理解Spring Boot:從入門到精通“

    標(biāo)題:深入理解Spring Boot:從入門到精通 摘要:本文將深入探討Spring Boot的核心概念和使用技巧,幫助讀者從入門到精通Spring Boot開發(fā)。通過(guò)具體的示例代碼,介紹Spring Boot的特點(diǎn)、優(yōu)勢(shì)以及常見(jiàn)的使用場(chǎng)景,同時(shí)提供一些實(shí)用的開發(fā)技巧和調(diào)試方法,以幫助讀者更好地理解和

    2024年02月15日
    瀏覽(27)
  • 初級(jí) - 若依框架 - Java Spring/Spring Boot 項(xiàng)目理解記錄

    一般情況下,我們創(chuàng)建對(duì)象都是 類名 + 類引用名 = new 類名() 但是如果是不想要 等于號(hào)后面的對(duì)象實(shí)例化操作,那么可以使用 @Autowired 注解,當(dāng)然這是在使用 Spring 時(shí),才能這樣,不然一般情況下,也沒(méi)法用這個(gè)注解。用了這個(gè) @Autowired 注解,會(huì)讓 Spring 自動(dòng)幫你托管這個(gè)對(duì)象

    2024年02月16日
    瀏覽(17)
  • 深入理解 Spring Boot 內(nèi)置工具類:ReflectionUtils

    深入理解 Spring Boot 內(nèi)置工具類:ReflectionUtils

    ??歡迎來(lái)到架構(gòu)設(shè)計(jì)專欄~深入理解 Spring Boot 內(nèi)置工具類:ReflectionUtils ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁(yè):IT·陳寒的博客 ??該系列文章專欄:架構(gòu)設(shè)計(jì) ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限

    2024年02月20日
    瀏覽(22)
  • Spring boot自定義注解

    定義一個(gè)注解類 使用AOP對(duì)注解進(jìn)行解析,需要定義一個(gè)切面類,包括自定義的切點(diǎn)方法normalPointCut(),以及連接點(diǎn)的處理方法normalPointAround()。連接點(diǎn)中的ProceedingJoinPoint可以獲取被代理類的方法屬性等。 2.1 定義注解 2.2 實(shí)現(xiàn)參數(shù)解釋器 記得實(shí)現(xiàn)WebMvcConfigurer 接口配置LimitReque

    2023年04月27日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包