成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java EE幾十種技術,“活著的”還剩幾何(服務/安全/Java SE篇)

開發 后端
Java API for RESTful Web Services的核心概念是resource,即面向資源。是一個Java編程語言的應用程序接口,支持按照表述性狀態轉移(REST)架構風格創建Web服務。借助標準注解來落地。

[[420735]]

前言

你好,我是方同學(YourBatman)

若你還不太清楚Java EE是什么,可先移步這里:什么是Java EE?

Java EE技術規范從個數上算,總共有40(8 + 13 + 5 + 6 + 8)個,我們已完成:

  • 8個 【方同學】Java EE幾十種技術,“活著的”還剩幾何(Web應用技術篇)
  • 13個 【方同學】Java EE幾十種技術,“活著的”還剩幾何(企業應用技術篇)

本文繼續,將剩下的3個part“一網打盡”。為了便于理解,還是貼上這張分類圖:

所屬專欄

BATutopia-Java EE

相關下載

  • 工程源代碼:https://github.com/yourbatman/BATutopia-java-ee
  • 【女媧Knife-Initializr工程】訪問地址:http://152.136.106.14:8761
  • Java開發軟件包(Mac):https://wangpan.yourbatman.cn/s/rEH0 提取碼:javakit
  • 程序員專用網盤上線啦,開放注冊送1G超小容量,幫你實踐做減法:https://wangpan.yourbatman.cn

版本約定

Java EE:6、7、8

Jakarta EE:8、9、9.1

正文

Part3: Web Services技術

Web Services Technologies,共5個規范。圖片

1. JAX-RS

推薦學習指數 3

Java API for RESTful Web Services的核心概念是resource,即面向資源。是一個Java編程語言的應用程序接口,支持按照表述性狀態轉移(REST)架構風格創建Web服務。借助標準注解來落地。

和JAX-WS的區別:兩者是 不同風格的SOA架構。前者以動詞為中心,指定的是每次執行函數。而后者以名詞為中心,每次執行的時候指的是資源。JAX-RS更新來自Java EE 6API的GAV:

  1. <dependency> 
  2.     <groupId>jakarta.ws.rs</groupId> 
  3.     <artifactId>jakarta.ws.rs-api</artifactId> 
  4.     <version>2.1.6</version> 
  5. </dependency> 

代表API:

  • Client、Request、Response、UriBuilder
  • @GET、@POST、@PUT、@DELETE、@Produces、@QueryParam

Jersey就是一個很好的Web-Service框架,實現了jaxrs。這么技術在老外那邊還有用武之地(比如Eureka就用它),國內使用得確實少之又少了。

2. JAX-RPC

推薦學習指數 1

JAX-RPC已經過期,畢竟JAX-WS 2.0可認為是JAX-RPC 1.1的后續版本。

注:JAX-WS技術在????,有需要可提前移步閱讀

我們可以對比下JAX-RPC和JAX-RS:

  • 相同點
    • JAX-WS仍然支持 SOAP 1.1 over HTTP 1.1,因此互操作性將不會受到影響,仍然可以在網上傳遞相同的消息(SOAP最新版為1.2)
    • JAX-WS仍然支持 WSDL 1.1,因此您所學到的有關該規范的知識仍然有用。WSDL 2.0 規范已經接近完成,但在 JAX-WS 2.0 相關工作結束時其工作仍在進行中
  • 不同點
    • JAX-RPC 和 JAX-WS 都支持 SOAP 1.1。JAX-WS 還支持 SOAP 1.2
    • JAX-WS支持不在SOAP下發送消息而基于http即可,而這是JAX-RPC做不到的
    • JAX-WS運用到了Java 5很多新特性,代碼更好性能更高

API的GAV:

  1. <dependency> 
  2.     <groupId>jakarta.xml.rpc</groupId> 
  3.     <artifactId>jakarta.xml.rpc-api</artifactId> 
  4.     <version>1.1.4</version> 
  5. </dependency> 

代表API:

  • Service、ServiceFactory
  • MessageContext、ParameterMode

簡而言之,JAX-RPC已全面被JAX-WS取代(即使后者的生命力也已經很弱)。

3. JAXR

推薦學習指數 1

JAXR(Java API for XML Registries)提供了與多種類型注冊服務進行交互的API。

JAXR使java軟件程序員使用單個的易于使用的抽象API訪問多種XML registries,一個統一的JAXR實現模型描述在XML registries中的內容和元數據。JAXR給開發者寫能使用于多種目標注冊的registry客戶程序的能力, 還給這些客戶程序能跨多種底層registries添加值的能力.

API的GAV:

  1. <dependency> 
  2.     <groupId>jakarta.xml.registry</groupId> 
  3.     <artifactId>jakarta.xml.registry-api</artifactId> 
  4.     <version>1.0.10</version> 
  5. </dependency> 

代表API:

  • RegistryService
  • JAXRResponse
  • QueryManager

4. EWS

推薦學習指數 1

略。

5. WS-MJP

推薦學習指數 1

略。

為了降低閱讀/學習負擔,用一句話總結該Part:又重又老掉牙的技術了,腦子里留個印象就行(比如JAX-RS、SOAP協議、WSDL等),其它......fork筆者的工程源碼里瞧瞧就成!https://github.com/yourbatman/BATutopia-java-ee

Part4: 管理和安全技術

Management and Security Technologies,共6個規范。

推薦學習指數 0

1. jacc

2. jaspic

3. jeead

4. dsol

5. m-j2ee

6. security

這一part離普通開發者就更遠了,大多數人(包括筆者在內)可能就耳聞過jacc還稍微有丁點熟悉,其它的,呃......

說明:這part關于Java安全,不是不重要,而是對我等普通程序員不重要。

Part5: JavaSE中與JavaEE相關的規范

Java EE-related Specs in Java SE,共8個規范。圖片此part比較特殊,表示規范屬于Java EE規范,但API(或者實現)都在Java SE里就有,所以都無需額外導包,并且很多都比較熟悉。

1. JDBC

推薦學習指數 5

這是第三個五星推薦。非常重要,特別是做數據庫中間件的研發,這些理論規范知識是基礎。

Java Database Connectivity:數據庫連接技術。用來規范客戶端程序如何來訪問數據庫的應用程序接口,提供了諸如查詢和更新數據庫中數據的方法。關鍵API回顧一下:

  • java.sql.Driver
  • java.sql.DriverManager
  • java.sql.Connection
  • java.sql.Statement / java.sql.PreparedStatement

當然還有javax.sql.DataSource、javax.sql.PooledConnection、javax.sql.XADataSource、javax.sql.XAConnection等等

API的GAV:

  1. 無,在Java SE內 

代表API:如上

該規范的實現由各大數據庫廠商提供,如MySql、Oracle、PostgreSQL

2. JMX

推薦學習指數 4

Java Management Extensions:Java管理擴展。顧名思義,是管理Java的一種擴展。這種機制可以方便的管理正在運行中的Java程序。常用于管理線程,內存,日志Level,服務重啟,系統環境等。

API的GAV:

  1. 無,在Java SE內 

代表API:

  • JMX、JMXConnector、PersistentMBean、StandardMBean
  • MBeanServer、MBeanServerBuilder、MBeanServerFactory
  • @MXBean

Spring Boot的Endpoint常見的是通過Http暴露,同時也可以(更安全的方式)通過JMX方式暴露。

3. JAX-WS

推薦學習指數 1

Java API for XML Web Services:一組XML web services的JAVA API,JAX-WS允許開發者可以選擇RPC-oriented或者message-oriented 來實現自己的web services。

Web服務有兩種類型:

  • SOAP Web Services
  • Restful Web Services

該框架可以通過注解形式導出一個Web Service服務。如:@WebService、@WebMethod、@SOAPBinding

API的GAV:

  1. // 說明:此Jar不導入也沒關系,因為已經包含進Java SE內了 
  2. <dependency> 
  3.     <groupId>jakarta.xml.ws</groupId> 
  4.     <artifactId>jakarta.xml.ws-api</artifactId> 
  5.     <version>2.3.3</version> 
  6. </dependency> 

代表API:

  • WebServiceClient、Endpoint、HTTPBinding
  • SOAPHandler、SOAPMessageContext
  • @WebEndpoint、@WebServiceRef、@RequestWrapper

4. JAXP

推薦學習指數 1

Java API for XML Processing (JAXP):XML處理的Java API,是Java XML程序設計的應用程序接口之一,它提供解析和驗證XML文檔的能力。代表API:

  • DocumentBuilder
  • SAXParser

它不提供處理 XML 的新方式,不補充 SAX 或 DOM,也不向 Java 和 XML 處理提供新功能。它只是使通過 DOM 和 SAX 處理一些困難任務更容易,屏蔽廠商們的實現差異。

API的GAV:

  1. 無,在Java SE內 

代表API:

  • DocumentBuilder、DocumentBuilderFactory
  • SAXParser、SAXParserFactory

5. JAXB

推薦學習指數 1

Java Architecture for XML Binding:實現xml到Java對象,Java對象到XML的轉換。類比一下JSON-P和JSON-B,何其相似。

API的GAV:

  1. // 說明:此Jar不導入也沒關系,因為已經包含進Java SE內了 
  2. <dependency> 
  3.     <groupId>jakarta.xml.ws</groupId> 
  4.     <artifactId>jakarta.xml.ws-api</artifactId> 
  5.     <version>2.3.3</version> 
  6. </dependency> 

代表API:

  • @XmlRootElement
  • @XmlSchema
  • @XmlElement
  • @XmlAttribute

6. StAX

推薦學習指數 1

Streaming API for XML (StAX) :和SAX類似也是用于解析xml文件的,StAX采用流模型中的拉模型分析方式。提供基于指針和基于迭代器兩種方式的支持。

API的GAV:

  1. 無,在Java SE內 

代表API:

  • XMLOutputFactory:XMLOutputFactory.newInstance().createXMLStreamWriter(out);
  • XMLInputFactory:

7. SAAJ

推薦學習指數 1

SOAP with Attachments API for Java (SAAJ) Specification:利用SOAP協議實現的基于XML消息傳遞的API規范。它的相關API都在javax.xml.soap內,已經被集成進Java SE。

API的GAV:

  1. 無,在Java SE內 

代表API:略

8. JAF

推薦學習指數 1

JavaBeans Activation Framework (JAF) :一個專用的數據處理框架。提供用于封裝數據,并為應用程序提供訪問和操作數據的接口。

它應用最廣泛的地方是:處理MIME編碼的郵件附件。將MIME字節流轉換成Java對象,或者對象到字節流。現在知道為啥使用JavaMail時需額外導入activation.jar這個包了吧,現在告訴你:不需要了,因為已經包含在Java SE內。

API的GAV:

  1. // 說明:此Jar不導入也沒關系,因為已經包含進Java SE內了 
  2. <dependency> 
  3.     <groupId>jakarta.activation</groupId> 
  4.     <artifactId>jakarta.activation-api</artifactId> 
  5.     <version>1.2.2</version> 
  6. </dependency> 

代表API:

  • javax.activation.DataContentHandler
  • javax.activation.MimeType
  • javax.activation.FileDataSource

總結

至此,對Java EE規范的40種技術全部介紹完了。有可能它是全網最全的一份講解,希望可以很獨特的幫助到你站在高一點視角,總覽Java EE技術以及JSR規范,甚至包括和Spring技術棧的對比和聯系。

 

責任編輯:武曉燕 來源: BAT的烏托邦
相關推薦

2021-08-27 11:57:33

Java企業應用

2021-08-26 00:22:57

Java EE技術Web

2023-07-25 13:07:59

2024-03-14 11:12:28

2024-01-22 08:15:42

API協議設計

2018-01-15 11:41:33

代碼網絡運維研發

2010-09-07 13:12:17

2016-05-30 10:45:17

2022-07-04 07:41:53

接口數據安全

2013-10-12 15:36:54

2022-04-24 12:46:59

網絡安全威脅事件安全運營

2010-09-30 16:10:30

2022-10-25 15:55:13

2020-11-26 20:54:23

AI人工智能建筑

2020-06-18 09:22:13

人工智能技術網絡

2011-05-30 15:07:58

計算機語言

2013-08-23 09:13:44

2013-08-23 09:34:37

2023-07-12 12:54:28

2024-04-10 12:33:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品视频一区二区三区 | www.色午夜.com | 一区二区三区国产好 | 一区二区精品视频 | 涩涩视频网站在线观看 | 日韩av网址在线观看 | 天天躁人人躁人人躁狂躁 | 国产福利在线视频 | 亚洲精品在线看 | 日韩一区二| 一级黄色片美国 | 午夜a v电影 | 99re在线视频 | 久久中文字幕视频 | 精品久久久久久亚洲综合网站 | 国产精品日女人 | 男人电影天堂 | 日韩一区二区在线视频 | av激情影院| 久久中文字幕视频 | 北条麻妃99精品青青久久主播 | 精品国产不卡一区二区三区 | 午夜天堂精品久久久久 | 欧美一区二区三区久久精品 | 亚洲高清在线免费观看 | 北条麻妃一区二区三区在线观看 | 中文字幕视频在线 | 久久免费精品视频 | 看片天堂 | 精品福利一区二区三区 | 国产一区二区三区视频 | 精品国产乱码久久久久久蜜柚 | 亚洲成人免费av | 中文字幕在线免费视频 | 国产福利小视频 | 亚洲天堂久久 | 91精品国产日韩91久久久久久 | 天堂一区二区三区 | 日本黄色的视频 | 日韩亚洲欧美综合 | a级黄色网 |