SpringBoot入門培訓.ppt_第1頁
SpringBoot入門培訓.ppt_第2頁
SpringBoot入門培訓.ppt_第3頁
SpringBoot入門培訓.ppt_第4頁
SpringBoot入門培訓.ppt_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

SpringBoot入門培訓 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應用講解四 springBoot的發(fā)布五 springBoot總結 1 springBoot背景 多年以來 SpringIO平臺飽受非議的一點就是大量的XML配置以及復雜的依賴管理 在2013年的SpringOne2GX會議上 Pivotal的CTOAdrianColyer回應了這些批評 并且特別提到該平臺將來的目標之一就是實現(xiàn)免XML配置的開發(fā)體驗 Boot所實現(xiàn)的功能超出了這個任務的描述 開發(fā)人員不僅不再需要編寫XML 而且在一些場景中甚至不需要編寫繁瑣的import語句 在對外公開的beta版本剛剛發(fā)布之時 Boot描述了如何使用該框架在140個字符內(nèi)實現(xiàn)可運行的web應用 從而獲得了極大的關注度 該樣例發(fā)表在tweet上 2 什么是springBoot 1 SpringBoot是由Pivotal團隊提供的全新框架 SpringBoot并不是要成為SpringIO平臺里面眾多 Foundation 層項目的替代者 SpringBoot的目標不在于為已解決的問題域提供新的解決方案 而是為平臺帶來另一種開發(fā)體驗 從而簡化對這些已有技術的使用 2 該框架使用了特定的方式 繼承starter 約定優(yōu)先于配置 來進行配置 從而使開發(fā)人員不再需要定義樣板化的配置 通過這種方式 Boot致力于在蓬勃發(fā)展的快速應用開發(fā)領域 rapidapplicationdevelopment 成為領導者 3 SpringBoot是基于Spring4進行設計 承了原有Spring框架的優(yōu)秀基因 它并不是一個框架 從根本上將 它就是一些庫的集合 maven或者gradle項目導入相應依賴即可使用SpringBoot 而且無需自行管理這些庫的版本 2 為什么使用springBoot 1 SpringBoot是為簡化Spring項目配置而生 使用它使得jar依賴管理以及應用編譯和部署更為簡單 SpringBoot提供自動化配置 使用SpringBoot 你只需編寫必要的代碼和配置必須的屬性 2 使用SpringBoot 只需20行左右的代碼即可生成一個基本的SpringWeb應用 并且內(nèi)置了tomcat 構建的fatJar包通過java jar就可以直接運行 3 如下特性使得SpringBoot非常契合微服務的概念 可以結合SpringBoot與SpringCloud和Docker技術來構建微服務并部署到云端 一個可執(zhí)行jar即為一個獨立服務 很容易加載到容器 每個服務可以在自己的容器 例如docker 中運行 通過一個腳本就可以實現(xiàn)配置與部署 很適合云端部署 并且自動擴展也更容易 3 springBoot有哪些特性 1 無需手動管理依賴jar包的版本Spring boot 的jar包已對一些功能性jar包進行了集成 示例如下 spring boot starter核心SpringBootstarter 包括自動配置支持 日志和YAML spring boot starter actuator生產(chǎn)準備的特性 用于幫你監(jiān)控和管理應用 spring boot starter web對全棧web開發(fā)的支持 包括Tomcat和spring webmvc spring boot starter aop對面向切面編程的支持 包括spring aop和AspectJ spring boot starter jdbc對JDBC數(shù)據(jù)庫的支持 spring boot starter security對spring security的支持 3 springBoot有哪些特性 1 無需手動管理依賴jar包的版本Spring boot 的jar包已對一些功能性jar包進行了集成 示例如下 spring boot starter核心SpringBootstarter 包括自動配置支持 日志和YAML spring boot starter actuator生產(chǎn)準備的特性 用于幫你監(jiān)控和管理應用 spring boot starter web對全棧web開發(fā)的支持 包括Tomcat和spring webmvc spring boot starter aop對面向切面編程的支持 包括spring aop和AspectJ spring boot starter jdbc對JDBC數(shù)據(jù)庫的支持 spring boot starter security對spring security的支持 3 springBoot有哪些特性 1 無需手動管理依賴jar包的版本 spring boot starter amqp通過spring rabbit來支持AMQP協(xié)議 AdvancedMessageQueuingProtocol spring boot starter ws支持SpringWebServices spring boot starter redis支持Redis鍵值存儲數(shù)據(jù)庫 包括spring redis spring boot starter test支持常規(guī)的測試依賴 包括JUnit Hamcrest Mockito以及spring test模塊 3 springBoot有哪些特性 2 獨立運行的Spring項目SpringBoot默認將應用打包成一個可執(zhí)行的jar包文件 構建成功后使用java jar命令即可運行應用 或者在應用項目的主程序中運行main函數(shù)即可 不需要依賴tomcat jetty等外部的應用服務器 其中內(nèi)置的servletContainer 此外 你仍然可以部署SpringBoot項目到任何兼容Servlet3 0 的容器 3 springBoot有哪些特性 3 自動配置 無需xml SpringBoot嘗試根據(jù)你添加的jar依賴自動配置你的應用 例如 如果HSQLDB在類路徑中 并且你沒有手動配置任何db連接bean 則SpringBoot會自動配置一個內(nèi)存db 使用 EnableAutoConfiguration或者 SpringBootApplication注解 配合 Configuration注解類 即可達到自動配置的目的 SpringBoot的這種自動配置是非侵入式的 你可以定義自己的配置或bean來替代自動配置的內(nèi)容 3 springBoot有哪些特性 4 外部化配置SpringBoot可以使用properties文件 YAML文件 環(huán)境變量 命令行參數(shù)等來外部化配置 屬性值可以使用 Value注解直接注入到bean中 并通過Spring的Environment抽象或經(jīng)過 ConfigurationProperties注解綁定到結構化對象來訪問 實例如下 Component ConfigurationProperties prefix spring datasource publicclassApplicationUtil privateStringname privateStringurl 3 springBoot有哪些特性 5 嵌入式servlet容器SpringBoot的web模塊內(nèi)置嵌入的Tomcat Jetty Undertow來構建自包含的Servlet容器 web應用打包成可執(zhí)行jar包時 相應的servlet容器也會被嵌入到應用jar中 并且servlets filters和listeners都可以通過聲明為bean來被容器注冊 servlet容器還可以通過外部化配置來相關定制屬性 如server port server session persistence等 application yml配置server的端口號和session超時時間 需要注意的是 使用 yml時 屬性名的值和冒號中間必須有空格 如下 server port 8888session timeout 60 3 springBoot有哪些特性 6 開啟devtools特性 devtools的熱部署和自動重啟要想在Eclipse中使用Devtools的重啟功能 需要將自動編譯功能打開 每次保存文件并自動編譯后 devtools會檢測到classpath內(nèi)容的修改 并觸發(fā)應用重啟 重啟時實際只重新加載了一部分類 因此速度會非???詳細原理會在后面教程里介紹 devtools的livereload開啟devtools特性的應用在啟動時會啟動一個livereload的server 在瀏覽器 如chrome Firefox 安裝livereload插件后 該插件會監(jiān)測到livereloadserver的更新 并自動刷新頁面 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應用講解四 springBoot的發(fā)布五 springBoot總結 3 springBoot注解 1 SpringBootApplication申明讓springboot自動給程序進行必要的配置 這個配置等同于 Configuration EnableAutoConfiguration和 ComponentScan三個配置 3 springBoot注解 2 ResponseBody該注解修飾的函數(shù) 會將結果直接填充到HTTP的響應體中 一般用于構建RESTful的api 該注解一般會配合 RequestMapping一起使用 示例代碼 RequestMapping test ResponseBodypublicStringtest return ok 3 springBoot注解 3 Controller用于定義控制器類 在spring項目中由控制器負責將用戶發(fā)來的URL請求轉(zhuǎn)發(fā)到對應的服務接口 service層 一般這個注解在類中 通常方法需要配合注解 RequestMapping 4 RestController ResponseBody和 Controller的合集 3 springBoot注解 5 EnableAutoConfigurationSpringBoot自動配置 auto configuration 嘗試根據(jù)你添加的jar依賴自動配置你的Spring應用 例如 如果你的classpath下存在HSQLDB 并且你沒有手動配置任何數(shù)據(jù)庫連接beans 那么我們將自動配置一個內(nèi)存型 in memory 數(shù)據(jù)庫 你可以將 EnableAutoConfiguration或者 SpringBootApplication注解添加到一個 Configuration類上來選擇自動配置 如果發(fā)現(xiàn)應用了你不想要的特定自動配置類 你可以使用 EnableAutoConfiguration注解的排除屬性來禁用它們 3 springBoot注解 6 ComponentScan表示將該類自動發(fā)現(xiàn) 掃描 并注冊為Bean 可以自動收集所有的Spring組件 包括 Configuration類 我們經(jīng)常使用 ComponentScan注解搜索beans 并結合 Autowired注解導入 如果沒有配置的話 SpringBoot會掃描啟動類所在包下以及子包下的使用了 Service Repository等注解的類 3 springBoot注解 7 Configuration相當于傳統(tǒng)的xml配置文件 如果有些第三方庫需要用到xml文件 建議仍然通過 Configuration類作為項目的配置主類 可以使用 ImportResource注解加載xml配置文件 Configuration EnableAutoConfigurationpublicclassRedisConfig Bean name jedisPoolConfig ConfigurationProperties prefix spring redis publicJedisPoolConfiggetRedisConfig returnnewJedisPoolConfig 3 springBoot注解 8 PropertySource如果需要有自定義的屬性文件需要加載 可以使用該注解進行注入 并用 Value配合使用 Component PropertySource value classpath config properties publicclassConfigUtil Value hos id privateStringhosId Value hos name privateStringhosName 3 springBoot注解 9 ImportResource用來加載xml配置文件 10 Bean用 Bean標注方法等價于XML中配置的bean 11 Value注入Springbootapplication properties配置的屬性的值 Value value message privateStringmessage 3 springBoot注解 12 Environmentorg springframework core env Environment 環(huán)境類 spring3 1以后開始引入 比如JDK環(huán)境 Servlet環(huán)境 Spring環(huán)境等等 每個環(huán)境都有自己的配置數(shù)據(jù) 如System getProperties System getenv 等可以拿到JDK環(huán)境數(shù)據(jù) ServletContext getInitParameter 可以拿到Servlet環(huán)境配置數(shù)據(jù)等等 也就是說Spring抽象了一個Environment來表示環(huán)境配置 在springBoot中使用直接用 Resource注入 即可獲得系統(tǒng)配置文件application properties yml的屬性值 如果是自定義的配置文件 則需要預先通過 PropertySource等其他注解注入后 才能獲取 獲取通過getProperty 方法獲取 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應用講解四 springBoot的發(fā)布五 springBoot總結 3 springBoot應用講解 1 與MyBatis的集成org mybatis spring bootmybatis spring boot starter1 1 12 與Redis的集成org springframework bootspring boot starter redis3 Junit進行單元測試org springframework bootspring boot starter test 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應用講解四 springBoot的發(fā)布五 springBoot總結 3 springBoot的發(fā)布 1 將springBoot項目打包成jar可以使用maven將項目打包成jar文件 并使用java jar命令運行主main方法 將項目運行起來 3 springBoot的發(fā)布 2 將springBoot項目打包成war1 pom文件的命令將jar修改為war 2 入口類實現(xiàn)SpringBootServletInitializer方法 重寫方法 OverrideprotectedSpringApplicationBuilderconfigure SpringApplicationBuilderapplication returnapplication sources Application class 3 這里指定打包的時候不再需要tomcat相關的包org springframework bootspring boot starter tomcat 主要內(nèi)容 一 sp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論