1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          martian(Martian的介紹以及用法是怎樣的)

          來源:互聯網轉載 時間:2024-05-09 21:59:00

          項目簡介

          Martian 是一個聲明式API編程 (DAP) 的Java開發框架

          • 以HttpServer作為 http服務,徹底脫離Tomcat這一類的Web容器和Servlet,同時也讓項目減少了幾個依賴

          • 聲明式API,讓Controller變成了一個interface,降低了開發的工作量

          • 擁有其他web框架 擁有的大部分功能,比如AOP,IOC,聲明式事務,異常監聽等

          • 擁有自主開發的 半ORM持久層框架,并天然的集成到了Martian中

          • 如果你不喜歡HttpServer,我們也提供了Tomcat啟動器

          項目生態

          • 【分布式組件】Martian-cloud

          • 【網關及其他組件】Martian-gateway

          • 【更多組件】籌劃中

          官方文檔

          http://mars-framework.com/doc.html?tag=martian

          使用示例

          https://github.com/yuyenews/Mars-Example

          項目特性

          一、聲明式API

          只需要在你的interface上加上一個注解,即可對外提供一個接口,并且我們還支持傳統的Controller寫法

          @MarsApi(refBean="要引用的bean的name")publicinterfaceTestApi{返回類型selectList(TestDTOtestDTO);}

          二、單表增刪改查無sql

          //根據主鍵查詢一條數據@MarsGet(tableName="userinfo",primaryKey="id")publicabstract要返回的實體類selectById(intid);//單表新增@MarsUpdate(tableName="userinfo",operType=OperType.insert)publicabstractintinsert(實體對象參數);//單表根據主鍵刪除@MarsUpdate(tableName="userinfo",operType=OperType.delete,primaryKey="id")publicabstractintdelete(intid);//單表根據主鍵修改@MarsUpdate(tableName="userinfo",operType=OperType.update,primaryKey="id")publicabstractintupdate(實體對象參數);

          三、參數校驗只需一個注解

          在API接口的參數對象里的字段上加上一個注解即可(VO的字段上加注解)

          //不可為空,且長度在2-3位@MarsDataCheck(notNull=true,maxLength=3L,minLength=2L,msg="id不可為空且長度必須在2-3位之間")privateIntegerid;//正則校驗@MarsDataCheck(reg="^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$",msg="密碼不可以為空且必須是6-12位數字字母組合")privateStringpassword;

          前端如何得到提示?

          正常請求API就好了,如果校驗不通過會得到這樣一個json

          {"error_code":1128,"error_info":"提示文字"}

          四、異常監聽器

          通常我們在寫代碼的時候,需要給每個Controller的方法加上try{}catch(){},用來在異常的時候,能夠正常的返回 json串

          spring是有一個叫ExecptionHandler 來解決這個問題,而Martion也提供了對應的解決方案

          解決方案就是什么都不用管,如果出了異常,會自動給前端返回如下json串

          {"error_code":500,"error_info":"異常提示"}

          五、一行注解,解決分布式鎖

          在要加鎖的方法上添加RedisLock注解

          @RedisLock(key="自己定義一個key")publicintinsert(){return1;}

          看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注本站行業資訊頻道,感謝您對本站的支持。

          標簽:martian-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          信用卡刷卡驗密功能是指信用持卡人在刷卡消費或者取現時,需要輸入密碼以進行驗證的過程。如果設置了信用卡刷卡驗密功能,那么只能在持卡人輸入正確的密碼的前提下才能完成支付交易或者取現。信用卡刷卡驗密功能是一種交易方式,與“簽名確認”的方式相對。目前國內銀行推出的信用卡大部分是銀聯組織發行的信用卡,國內的環境和用戶刷卡習慣決定了國內持卡人的刷卡支付方式,一般會設置信用卡刷卡驗密功能...

          亞美尼亞是一個擁有許多古老文化遺產的單一民族、多黨和民主國家。亞美尼亞是位于西亞的內陸國家,不臨海,多山的地形,注定了亞美尼亞不是一個發達國家。高加索山脈高加索亞美尼亞總人口約307萬。近年來,亞美亞出生率下降,人口老齡化嚴重。亞美尼亞在自身經濟、人口、國土面積等方面都遠弱于其東部鄰國阿塞拜疆。雖然亞美尼亞比較窮,但是如果沒有戰爭,亞美尼亞確實是一個值得度假和養老的圣地。生活在亞美尼亞是一次非常有...

          (資料圖片)在生活中,很多人都不知道無錫有哪些歷史名人是什么意思,其實他的意思是非常簡單的,下面就是小編搜索到的無錫有哪些歷史名人相關的一些知識,我們一起來學習下吧!無錫有以下歷史名人:1、顧憲成:明代思想家,東林黨領袖。2、泰伯:吳國第一代君主,東吳文化的宗祖。3、仲雍:吳國第二代君主,吳地和常熟的始祖。3、季簡:周代吳國的第三任君主。4、叔達:西周時期吳國第四任國君。5、周章:秦末農民起義軍將...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>