<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 Boot 系列 01

          共 4391字,需瀏覽 9分鐘

           ·

          2020-08-18 00:36


          閱讀全文,約 12 分鐘


          這是江帥帥的第001篇原創(chuàng)


          1、Spring Boot 概述


          Spring 框架,作為一個(gè)非常優(yōu)秀的輕量級(jí)容器,在企業(yè)級(jí)項(xiàng)目開發(fā)中非常受歡迎,但它在使用期間需要整合眾多第三方資源,都會(huì)導(dǎo)致配置過于臃腫,這也是令大家非常頭疼的問題。


          Spring Boot 的出現(xiàn),就是為了讓大家更方便去使用 Spring 框架進(jìn)行開發(fā),它基于“約定優(yōu)于配置(COC)”的設(shè)計(jì)理念,它實(shí)現(xiàn)了自動(dòng)化配置解決方案,包括自動(dòng)配置第三方資源,從而簡化了 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等方便的操作,讓開發(fā)者更專注在應(yīng)用業(yè)務(wù)的實(shí)現(xiàn)上。


          其實(shí),Spring Boot 可以想象成一個(gè)中介,它是開發(fā)者和 Spring 框架的簡化溝通平臺(tái),有些“手續(xù)(應(yīng)用的配置)”它直接就幫我們辦理好了,這些“手續(xù)”其實(shí)就是業(yè)務(wù)流程中某些默認(rèn)的流程(也就是默認(rèn)的配置),剛好就是上面說的“約定優(yōu)于配置”的理念。Sprint Boot 的最終目的,就是為了提升開發(fā)者在業(yè)務(wù)實(shí)現(xiàn)上的專注度。


          2、Spring Boot 的優(yōu)勢


          • ?繼承了 Spring 框架自身優(yōu)秀的特性。

          • ?能夠讓配置更簡單,通過自動(dòng)配置快速搭建 Spring 應(yīng)用項(xiàng)目。?

          • ?能夠以 jar 文件形式獨(dú)立運(yùn)行項(xiàng)目。

          • ?更強(qiáng)大的注解,讓業(yè)務(wù)實(shí)現(xiàn)更簡化。?

          • ?內(nèi)嵌了常見的 Web 服務(wù)器,讓你隨時(shí)使用 Tomcat、Jetty 等。?

          • ?提供了企業(yè)生產(chǎn)級(jí)項(xiàng)目的服務(wù)監(jiān)控方案,讓監(jiān)控更加簡單。

          • ?還有一些非功能性的通用配置,適應(yīng)更多的開發(fā)需求。

          • ?可進(jìn)行分布式開發(fā),結(jié)合 Spring Cloud 進(jìn)行微服務(wù)開發(fā)。


          3、搭建 Spring Boot 項(xiàng)目


          3.1 創(chuàng)建 Maven 項(xiàng)目


          第一步:菜單欄中選擇 File → New → Project... 彈出下圖,然后選擇 Maven,再點(diǎn)擊 Next 即可。



          第二步:填寫組織名稱、模塊名稱、項(xiàng)目版本等相關(guān)信息,如下圖:



          第三步:選擇項(xiàng)目的保存位置,如下圖:



          創(chuàng)建好之后的項(xiàng)目具體目錄,如下圖:



          創(chuàng)建好之后的項(xiàng)目本地文件夾具體目錄,如下圖:



          3.2 關(guān)于項(xiàng)目中目錄的相關(guān)解釋


          • src/main/java:用來存儲(chǔ)編寫好的 Java 源碼文件,也就是 xxx.java 文件。

          • src/main/resources:用來存儲(chǔ)編寫好的配置文件。

          • src/test/java:主要用來存儲(chǔ)測試用的 Java 源碼文件。


          3.3 添加配置與代碼


          第1步:編輯 pom.xml 文件


          pom.xml 文件,全稱項(xiàng)目對(duì)象模型(Project Object Model)描述文件,作為 Maven 的基礎(chǔ)配置文件,常被用來指定項(xiàng)目中的依賴配置。


          接著,我們需要在 pom.xml 文件中添加相關(guān)依賴,具體如下:


          首先,使用 標(biāo)簽指定? spring-boot-starter-parent 依賴模塊,單從標(biāo)簽名字上來看,就知道它想指定(繼承)父類級(jí)別的東西。


          在構(gòu)建 Spring Boot 應(yīng)用時(shí)設(shè)置它,也就意味著會(huì)自動(dòng)包含能簡化我們工作的自動(dòng)配置、日志和 YAML 等大量的配置。它作為 Spring Boot 的核心啟動(dòng)器,提供一些 Maven 默認(rèn)的配置和 dependency-management,能讓你快速使用 Spring Boot 進(jìn)行開發(fā)。


          比如,這里指定了 parent 的版本號(hào),當(dāng)我們?cè)谝肫渌蕾嚨臅r(shí)候,就不用再去關(guān)心它們的版本號(hào)了,在以前是需要考慮的,而且還很容易引起版本沖突。




          編輯 pom.xml 文件


          ? ? org.springframework.boot

          ? ? spring-boot-starter-parent

          ? ? 2.2.1.RELEASE


          如果,我們需要進(jìn)行 Web 開發(fā),還需要指定?spring-boot-starter-web?依賴模塊,需要在 pom.xml 文件中添加 元素來進(jìn)行指定,具體如下:



          指定 web 依賴模塊

          org.springframework.boot

          ? ? ????spring-boot-starter-web


          最后,還可以通過 元素來添加插件,比如設(shè)置 Spring Boot 的 Maven 插件 Spring Boot Maven plugin,它能夠?yàn)?Spring Boot 應(yīng)用提供執(zhí)行 Maven 操作。此插件,能夠?qū)?Spring Boot 應(yīng)用進(jìn)行打包為可執(zhí)行的 jar 或 war 形式的文件,然后以通常的方式來運(yùn)行。具體配置如下:




          添加 maven 插件

          ? ?

          ? ? ? ?

          ? ? ? ? ? ? org.springframework.boot

          ? ? ? ? ? ? spring-boot-maven-plugin

          ? ? ? ?

          ? ?


          完整的 pom.xml 文件,具體如下:



          完整的 pom.xml 文件源碼

          ? ? ? ? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          ? ? ? ? ?xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

          ? ? 4.0.0


          ? ? com.nx

          ? ? SpringDemo

          ? ? 1.0-SNAPSHOT


          ? ?

          ? ?

          ? ? ? ? org.springframework.boot

          ? ? ? ? spring-boot-starter-parent

          ? ? ? ? 2.2.1.RELEASE

          ? ?


          ? ?

          ? ?

          ? ? ? ?

          ? ? ? ? ? ? org.springframework.boot

          ? ? ? ? ? ? spring-boot-starter-web

          ? ? ? ?

          ? ?


          ? ?

          ? ?

          ? ? ? ?

          ? ? ? ? ? ?

          ?org.springframework.boot

          ? ? ? ? ? ? ? ? spring-boot-maven-plugin

          ? ? ? ? ? ?

          ? ? ? ?

          ? ?


          第2步:添加 Controller 類


          新建一個(gè) com.nx 的 package,然后添加一個(gè) HelloControler 類,如圖位置:



          HelloController 控制器類的代碼,具體如下:




          HelloController 控制器

          package com.nx.controller;


          import org.springframework.web.bind.annotation.RequestMapping;

          import org.springframework.web.bind.annotation.RestController;


          @RestController

          public class HelloController {


          ? ? @RequestMapping("/hello")

          ? ? public String sayHello(){

          ? ? ? ? return "I Love Spring Boot.";

          ? ? }

          }


          @RestController?注解是一個(gè)組合注解,它包含了?@Controller?和?@ResponseBody?兩個(gè)注解,說明它能以 JSON 格式進(jìn)行響應(yīng)數(shù)據(jù)。注解的源碼如下:




          @RestController 注解源碼

          @Target({ElementType.TYPE})

          @Retention(RetentionPolicy.RUNTIME)

          @Documented

          @Controller

          @ResponseBody

          public @interface RestController {

          ? ? @AliasFor(

          ? ? ? ? annotation = Controller.class

          ? ? )

          ? ? String value() default "";

          }


          第3步:添加 Spring Boot 啟動(dòng)類


          啟動(dòng)類的路徑,需要能夠讓 spring boot 掃描得到其他的組件,添加位置:



          SpringBootApp 啟動(dòng)類的代碼,具體如下:




          SpringBootApp 啟動(dòng)類

          package com.nx;


          import org.springframework.boot.SpringApplication;

          import org.springframework.boot.autoconfigure.SpringBootApplication;


          // 用于指定 Spring Boot 應(yīng)用的啟動(dòng)類

          @SpringBootApplication

          public class SpringBootApp {


          ? ? public static void main(String[] args) {

          ? ? ? ? // 從 main 方法中進(jìn)行啟動(dòng) Spring 應(yīng)用中的類

          ? ? ? ? SpringApplication.run(SpringBootApp.class, args);

          ? ? }

          }


          3.4 啟動(dòng) Spring Boot 項(xiàng)目


          有三種啟動(dòng)方式,具體如下:


          1. 使用 Maven 命令啟動(dòng)

          2. 運(yùn)行 main 方法啟動(dòng)

          3. 使用 Maven 打包啟動(dòng)


          第1種:使用 Maven 命令啟動(dòng)


          使用 Maven 命令:

          spring-boot:run

          指定項(xiàng)目路徑和 Maven 命令,具體如下




          第 2 種:運(yùn)行 main 方法啟動(dòng)



          第 3 種:使用 Maven 打包啟動(dòng)


          需要將 Spring Boot 應(yīng)用打成一個(gè) jar 包運(yùn)行。

          首先,在 IDEA 的右邊欄中,打開 Maven 即可看到如下頁面,雙擊?package?命令。


          然后,找到項(xiàng)目所在路徑下的?target?文件夾,打開即可看到生成的 jar 文件。



          最后,通過命令行進(jìn)入到 jar 文件所在目錄下,并執(zhí)行?java -jar?命令。

          java -jar .\SpringDemo-1.0-SNAPSHOT.jar


          3.5 訪問 Spring Boot 應(yīng)用


          打開瀏覽器,在地址欄中輸入請(qǐng)求地址:

          http://localhost:8080/hello,然后回車進(jìn)行訪問。



          未完待續(xù),等我下一篇嗷 ~~~

          轉(zhuǎn)自:公眾號(hào):江帥帥(ID:NXJSS666)



          ?--END--


          ? 推薦

          公眾號(hào)ID|javabaiwen

          小編微信|619531440


          每天分享技術(shù)干貨

          視頻 | 電子書 | 面試題?|?開發(fā)經(jīng)驗(yàn)

          瀏覽 72
          點(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>
                  丝袜脚丫丁香五月 | 国产操逼网 | 日本在线无码 | 韩国经典一区二区在线 | 成人视频网站在线观看 |