<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          前瞻:Spring 6.0將停止支持Freemarker和JSP

          共 2570字,需瀏覽 6分鐘

           ·

          2021-12-24 03:08

          Spring Framework 6.0?第一個(gè)里程碑版本已經(jīng)發(fā)布,目前已經(jīng)可以從Spring Repo獲取。這里有一些新變更我們可以提前了解一下。請(qǐng)大家踴躍留言、點(diǎn)贊、轉(zhuǎn)發(fā)、再看。

          Java EE遷移

          甲骨文已經(jīng)把Java EE捐獻(xiàn)給Eclipse基金會(huì)數(shù)年了。Java EE的名稱也變更為了Jarkarta EE,包名也相應(yīng)地從javax變更為jakarta。例如javax.persistence現(xiàn)在對(duì)應(yīng)為jakarta.persistence

          核心容器

          在本次里程碑版本中涉及到的兩個(gè)核心容器規(guī)范JSR-250JSR-330的包名都會(huì)遷移到Jakarta EE

          持久層

          Jakarta EE的持久層規(guī)范也將在此次里程碑版本中完成遷移。這意味著javax.persistencejakarta.validation都將實(shí)裝。對(duì)應(yīng)?Hibernate ORM 5.6.x?和?Hibernate Validator 7.0.x?。

          如果您正在學(xué)習(xí)Spring Boot,那么推薦一個(gè)連載多年還在繼續(xù)更新的免費(fèi)教程:http://blog.didispace.com/spring-boot-learning-2x/

          Web 應(yīng)用

          Servlet中間件基準(zhǔn)線

          由于Jakarta EE的合并遷移,Servlet中間件也要進(jìn)行升級(jí)。Tomcat 10,?Jetty 11, 或者基于undertow-servlet-jakarta?的?Undertow 2.2.14?是目前里程碑版本的基準(zhǔn)線。

          進(jìn)一步移除過時(shí)API

          一些過時(shí)的基于Servlet的組件已經(jīng)在本次里程碑版本中移除。

          • Commons FileUpload?上傳組件已經(jīng)被移除。
          • 相關(guān)的前后端模板Tiles布局組件例如FreeMarkerJSP停止了支持。現(xiàn)在Spring將精力放在了基于RestfulWeb架構(gòu)。

          Controller掃描機(jī)制變動(dòng)

          現(xiàn)在Spring MVCSpring WebFlux將不再將類上單獨(dú)有@RequestMappingSpring Bean視為控制器。在6.0之前默認(rèn)情況以下代碼是可以的:

          /**
          ?*?6.0之前
          ?*?@author?felord.cn
          ?*/

          @Component
          @RequestMapping("/foo")
          public?class?FooController?{

          ????@GetMapping("/hello")
          ????public?Map?hello()?{
          ????????return?Collections.singletonMap("hello",?"world");
          ????}

          }

          6.0之前相關(guān)基于AOP的代理機(jī)制將失效, 請(qǐng)為此類控制器啟用基于類的代理 。

          ?

          6.0之后默認(rèn)情況下必須有@Controller@RestController注解才可以被視為控制器。

          HttpMethod

          請(qǐng)求方法HttpMethod6.0之前為Java枚舉。

          /**
          ?*??6.0?之前
          ?*
          ?*?@since?3.0
          ?*/

          public?enum?HttpMethod?{

          ?GET,?HEAD,?POST,?PUT,?PATCH,?DELETE,?OPTIONS,?TRACE;

          ?private?static?final?Map?mappings?=?new?HashMap<>(16);

          ?static?{
          ??for?(HttpMethod?httpMethod?:?values())?{
          ???mappings.put(httpMethod.name(),?httpMethod);
          ??}
          ?}

          ?@Nullable
          ?public?static?HttpMethod?resolve(@Nullable?String?method)?{
          ??return?(method?!=?null???mappings.get(method)?:?null);
          ?}
          ????
          ?public?boolean?matches(String?method)?{
          ??return?name().equals(method);
          ?}

          }

          6.0以后改為Java類:

          public?final?class?HttpMethod?implements?Comparable<HttpMethod>,?Serializable?{

          ?private?static?final?long?serialVersionUID?=?-70133475680645360L;

          ?private?static?final?HttpMethod[]?values;

          ?private?static?final?Map?mappings?=?new?HashMap<>(16);
          ?
          ?public?static?final?HttpMethod?GET?=?new?HttpMethod("GET");
          ?
          ?public?static?final?HttpMethod?HEAD?=?new?HttpMethod("HEAD");
          ?
          ?public?static?final?HttpMethod?POST?=?new?HttpMethod("POST");
          ?
          ?public?static?final?HttpMethod?PUT?=?new?HttpMethod("PUT");
          ???//?其它省略
          }

          如果您正在學(xué)習(xí)Spring Cloud,推薦一個(gè)經(jīng)典教程(含Spring Cloud Alibaba):https://blog.didispace.com/spring-cloud-learning/

          其它前沿

          在2022年的1月份Spring Framework 6.0的第二個(gè)里程碑和對(duì)應(yīng)的Spring Boot 3.0第一個(gè)里程碑將和大家見面。你可以持續(xù)關(guān)注公眾號(hào):碼農(nóng)小胖哥?獲取一手消息。

          推薦關(guān)注本文作者:碼農(nóng)小胖哥

          分享高質(zhì)量編程知識(shí),探討IT人生

          技術(shù)干貨,實(shí)戰(zhàn)技巧,面試技巧,前沿資訊一個(gè)都不能少


          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美男女日逼 | 福利视频二区 | 一道本一区二区三区久久久久久久 | 狠狠撸日日撸 | 四虎在线无码 |