




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SpringBoot入門培訓(xùn) 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應(yīng)用講解四 springBoot的發(fā)布五 springBoot總結(jié) 1 springBoot背景 多年以來 SpringIO平臺(tái)飽受非議的一點(diǎn)就是大量的XML配置以及復(fù)雜的依賴管理 在2013年的SpringOne2GX會(huì)議上 Pivotal的CTOAdrianColyer回應(yīng)了這些批評(píng) 并且特別提到該平臺(tái)將來的目標(biāo)之一就是實(shí)現(xiàn)免XML配置的開發(fā)體驗(yàn) Boot所實(shí)現(xiàn)的功能超出了這個(gè)任務(wù)的描述 開發(fā)人員不僅不再需要編寫XML 而且在一些場景中甚至不需要編寫繁瑣的import語句 在對(duì)外公開的beta版本剛剛發(fā)布之時(shí) Boot描述了如何使用該框架在140個(gè)字符內(nèi)實(shí)現(xiàn)可運(yùn)行的web應(yīng)用 從而獲得了極大的關(guān)注度 該樣例發(fā)表在tweet上 2 什么是springBoot 1 SpringBoot是由Pivotal團(tuán)隊(duì)提供的全新框架 SpringBoot并不是要成為SpringIO平臺(tái)里面眾多 Foundation 層項(xiàng)目的替代者 SpringBoot的目標(biāo)不在于為已解決的問題域提供新的解決方案 而是為平臺(tái)帶來另一種開發(fā)體驗(yàn) 從而簡化對(duì)這些已有技術(shù)的使用 2 該框架使用了特定的方式 繼承starter 約定優(yōu)先于配置 來進(jìn)行配置 從而使開發(fā)人員不再需要定義樣板化的配置 通過這種方式 Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域 rapidapplicationdevelopment 成為領(lǐng)導(dǎo)者 3 SpringBoot是基于Spring4進(jìn)行設(shè)計(jì) 承了原有Spring框架的優(yōu)秀基因 它并不是一個(gè)框架 從根本上將 它就是一些庫的集合 maven或者gradle項(xiàng)目導(dǎo)入相應(yīng)依賴即可使用SpringBoot 而且無需自行管理這些庫的版本 2 為什么使用springBoot 1 SpringBoot是為簡化Spring項(xiàng)目配置而生 使用它使得jar依賴管理以及應(yīng)用編譯和部署更為簡單 SpringBoot提供自動(dòng)化配置 使用SpringBoot 你只需編寫必要的代碼和配置必須的屬性 2 使用SpringBoot 只需20行左右的代碼即可生成一個(gè)基本的SpringWeb應(yīng)用 并且內(nèi)置了tomcat 構(gòu)建的fatJar包通過java jar就可以直接運(yùn)行 3 如下特性使得SpringBoot非常契合微服務(wù)的概念 可以結(jié)合SpringBoot與SpringCloud和Docker技術(shù)來構(gòu)建微服務(wù)并部署到云端 一個(gè)可執(zhí)行jar即為一個(gè)獨(dú)立服務(wù) 很容易加載到容器 每個(gè)服務(wù)可以在自己的容器 例如docker 中運(yùn)行 通過一個(gè)腳本就可以實(shí)現(xiàn)配置與部署 很適合云端部署 并且自動(dòng)擴(kuò)展也更容易 3 springBoot有哪些特性 1 無需手動(dòng)管理依賴jar包的版本Spring boot 的jar包已對(duì)一些功能性jar包進(jìn)行了集成 示例如下 spring boot starter核心SpringBootstarter 包括自動(dòng)配置支持 日志和YAML spring boot starter actuator生產(chǎn)準(zhǔn)備的特性 用于幫你監(jiān)控和管理應(yīng)用 spring boot starter web對(duì)全棧web開發(fā)的支持 包括Tomcat和spring webmvc spring boot starter aop對(duì)面向切面編程的支持 包括spring aop和AspectJ spring boot starter jdbc對(duì)JDBC數(shù)據(jù)庫的支持 spring boot starter security對(duì)spring security的支持 3 springBoot有哪些特性 1 無需手動(dòng)管理依賴jar包的版本Spring boot 的jar包已對(duì)一些功能性jar包進(jìn)行了集成 示例如下 spring boot starter核心SpringBootstarter 包括自動(dòng)配置支持 日志和YAML spring boot starter actuator生產(chǎn)準(zhǔn)備的特性 用于幫你監(jiān)控和管理應(yīng)用 spring boot starter web對(duì)全棧web開發(fā)的支持 包括Tomcat和spring webmvc spring boot starter aop對(duì)面向切面編程的支持 包括spring aop和AspectJ spring boot starter jdbc對(duì)JDBC數(shù)據(jù)庫的支持 spring boot starter security對(duì)spring security的支持 3 springBoot有哪些特性 1 無需手動(dòng)管理依賴jar包的版本 spring boot starter amqp通過spring rabbit來支持AMQP協(xié)議 AdvancedMessageQueuingProtocol spring boot starter ws支持SpringWebServices spring boot starter redis支持Redis鍵值存儲(chǔ)數(shù)據(jù)庫 包括spring redis spring boot starter test支持常規(guī)的測試依賴 包括JUnit Hamcrest Mockito以及spring test模塊 3 springBoot有哪些特性 2 獨(dú)立運(yùn)行的Spring項(xiàng)目SpringBoot默認(rèn)將應(yīng)用打包成一個(gè)可執(zhí)行的jar包文件 構(gòu)建成功后使用java jar命令即可運(yùn)行應(yīng)用 或者在應(yīng)用項(xiàng)目的主程序中運(yùn)行main函數(shù)即可 不需要依賴tomcat jetty等外部的應(yīng)用服務(wù)器 其中內(nèi)置的servletContainer 此外 你仍然可以部署SpringBoot項(xiàng)目到任何兼容Servlet3 0 的容器 3 springBoot有哪些特性 3 自動(dòng)配置 無需xml SpringBoot嘗試根據(jù)你添加的jar依賴自動(dòng)配置你的應(yīng)用 例如 如果HSQLDB在類路徑中 并且你沒有手動(dòng)配置任何db連接bean 則SpringBoot會(huì)自動(dòng)配置一個(gè)內(nèi)存db 使用 EnableAutoConfiguration或者 SpringBootApplication注解 配合 Configuration注解類 即可達(dá)到自動(dòng)配置的目的 SpringBoot的這種自動(dòng)配置是非侵入式的 你可以定義自己的配置或bean來替代自動(dòng)配置的內(nèi)容 3 springBoot有哪些特性 4 外部化配置SpringBoot可以使用properties文件 YAML文件 環(huán)境變量 命令行參數(shù)等來外部化配置 屬性值可以使用 Value注解直接注入到bean中 并通過Spring的Environment抽象或經(jīng)過 ConfigurationProperties注解綁定到結(jié)構(gòu)化對(duì)象來訪問 實(shí)例如下 Component ConfigurationProperties prefix spring datasource publicclassApplicationUtil privateStringname privateStringurl 3 springBoot有哪些特性 5 嵌入式servlet容器SpringBoot的web模塊內(nèi)置嵌入的Tomcat Jetty Undertow來構(gòu)建自包含的Servlet容器 web應(yīng)用打包成可執(zhí)行jar包時(shí) 相應(yīng)的servlet容器也會(huì)被嵌入到應(yīng)用jar中 并且servlets filters和listeners都可以通過聲明為bean來被容器注冊(cè) servlet容器還可以通過外部化配置來相關(guān)定制屬性 如server port server session persistence等 application yml配置server的端口號(hào)和session超時(shí)時(shí)間 需要注意的是 使用 yml時(shí) 屬性名的值和冒號(hào)中間必須有空格 如下 server port 8888session timeout 60 3 springBoot有哪些特性 6 開啟devtools特性 devtools的熱部署和自動(dòng)重啟要想在Eclipse中使用Devtools的重啟功能 需要將自動(dòng)編譯功能打開 每次保存文件并自動(dòng)編譯后 devtools會(huì)檢測到classpath內(nèi)容的修改 并觸發(fā)應(yīng)用重啟 重啟時(shí)實(shí)際只重新加載了一部分類 因此速度會(huì)非???詳細(xì)原理會(huì)在后面教程里介紹 devtools的livereload開啟devtools特性的應(yīng)用在啟動(dòng)時(shí)會(huì)啟動(dòng)一個(gè)livereload的server 在瀏覽器 如chrome Firefox 安裝livereload插件后 該插件會(huì)監(jiān)測到livereloadserver的更新 并自動(dòng)刷新頁面 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應(yīng)用講解四 springBoot的發(fā)布五 springBoot總結(jié) 3 springBoot注解 1 SpringBootApplication申明讓springboot自動(dòng)給程序進(jìn)行必要的配置 這個(gè)配置等同于 Configuration EnableAutoConfiguration和 ComponentScan三個(gè)配置 3 springBoot注解 2 ResponseBody該注解修飾的函數(shù) 會(huì)將結(jié)果直接填充到HTTP的響應(yīng)體中 一般用于構(gòu)建RESTful的api 該注解一般會(huì)配合 RequestMapping一起使用 示例代碼 RequestMapping test ResponseBodypublicStringtest return ok 3 springBoot注解 3 Controller用于定義控制器類 在spring項(xiàng)目中由控制器負(fù)責(zé)將用戶發(fā)來的URL請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)接口 service層 一般這個(gè)注解在類中 通常方法需要配合注解 RequestMapping 4 RestController ResponseBody和 Controller的合集 3 springBoot注解 5 EnableAutoConfigurationSpringBoot自動(dòng)配置 auto configuration 嘗試根據(jù)你添加的jar依賴自動(dòng)配置你的Spring應(yīng)用 例如 如果你的classpath下存在HSQLDB 并且你沒有手動(dòng)配置任何數(shù)據(jù)庫連接beans 那么我們將自動(dòng)配置一個(gè)內(nèi)存型 in memory 數(shù)據(jù)庫 你可以將 EnableAutoConfiguration或者 SpringBootApplication注解添加到一個(gè) Configuration類上來選擇自動(dòng)配置 如果發(fā)現(xiàn)應(yīng)用了你不想要的特定自動(dòng)配置類 你可以使用 EnableAutoConfiguration注解的排除屬性來禁用它們 3 springBoot注解 6 ComponentScan表示將該類自動(dòng)發(fā)現(xiàn) 掃描 并注冊(cè)為Bean 可以自動(dòng)收集所有的Spring組件 包括 Configuration類 我們經(jīng)常使用 ComponentScan注解搜索beans 并結(jié)合 Autowired注解導(dǎo)入 如果沒有配置的話 SpringBoot會(huì)掃描啟動(dòng)類所在包下以及子包下的使用了 Service Repository等注解的類 3 springBoot注解 7 Configuration相當(dāng)于傳統(tǒng)的xml配置文件 如果有些第三方庫需要用到xml文件 建議仍然通過 Configuration類作為項(xiàng)目的配置主類 可以使用 ImportResource注解加載xml配置文件 Configuration EnableAutoConfigurationpublicclassRedisConfig Bean name jedisPoolConfig ConfigurationProperties prefix spring redis publicJedisPoolConfiggetRedisConfig returnnewJedisPoolConfig 3 springBoot注解 8 PropertySource如果需要有自定義的屬性文件需要加載 可以使用該注解進(jìn)行注入 并用 Value配合使用 Component PropertySource value classpath config properties publicclassConfigUtil Value hos id privateStringhosId Value hos name privateStringhosName 3 springBoot注解 9 ImportResource用來加載xml配置文件 10 Bean用 Bean標(biāo)注方法等價(jià)于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)境等等 每個(gè)環(huán)境都有自己的配置數(shù)據(jù) 如System getProperties System getenv 等可以拿到JDK環(huán)境數(shù)據(jù) ServletContext getInitParameter 可以拿到Servlet環(huán)境配置數(shù)據(jù)等等 也就是說Spring抽象了一個(gè)Environment來表示環(huán)境配置 在springBoot中使用直接用 Resource注入 即可獲得系統(tǒng)配置文件application properties yml的屬性值 如果是自定義的配置文件 則需要預(yù)先通過 PropertySource等其他注解注入后 才能獲取 獲取通過getProperty 方法獲取 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應(yīng)用講解四 springBoot的發(fā)布五 springBoot總結(jié) 3 springBoot應(yīng)用講解 1 與MyBatis的集成org mybatis spring bootmybatis spring boot starter1 1 12 與Redis的集成org springframework bootspring boot starter redis3 Junit進(jìn)行單元測試org springframework bootspring boot starter test 主要內(nèi)容 一 springBoot的簡介二 springBoot注解三 springBoot應(yīng)用講解四 springBoot的發(fā)布五 springBoot總結(jié) 3 springBoot的發(fā)布 1 將springBoot項(xiàng)目打包成jar可以使用maven將項(xiàng)目打包成jar文件 并使用java jar命令運(yùn)行主main方法 將項(xiàng)目運(yùn)行起來 3 springBoot的發(fā)布 2 將springBoot項(xiàng)目打包成war1 pom文件的命令將jar修改為war 2 入口類實(shí)現(xiàn)SpringBootServletInitializer方法 重寫方法 OverrideprotectedSpringApplicationBuilderconfigure SpringApplicationBuilderapplication returnapplication sources Application class 3 這里指定打包的時(shí)候不再需要tomcat相關(guān)的包org springframework bootspring boot starter tomcat 主要內(nèi)容 一 sp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班研討秋游活動(dòng)方案
- 工信局低碳宣傳活動(dòng)方案
- 師生國慶活動(dòng)方案
- 小學(xué)留宿活動(dòng)方案
- 工程采購沙龍活動(dòng)方案
- 小班精細(xì)美術(shù)活動(dòng)方案
- 屋頭串串活動(dòng)方案
- 市集策劃活動(dòng)方案
- 巨型籃球活動(dòng)方案
- 市婦聯(lián)讀書會(huì)活動(dòng)方案
- 法律基礎(chǔ)(第4版)PPT完整全套教學(xué)課件
- 廣東省珠海市香洲區(qū)2022-2023學(xué)年數(shù)學(xué)六下期末綜合測試試題含解析
- 五年級(jí)下冊(cè)語文期末考試學(xué)霸奪冠解密卷人教部編版含答案
- 張漢熙《高級(jí)英語》第二冊(cè)課文英語原文
- 房屋加固工程監(jiān)理規(guī)劃
- 牙科醫(yī)學(xué)-嵌體和貼面
- 2020年專業(yè)技術(shù)人員繼續(xù)教育公需科目考試及答案
- 一級(jí)煙草專賣管理師理論考試題庫(含答案)
- 茶會(huì)活動(dòng)策劃與管理智慧樹知到答案章節(jié)測試2023年浙江旅游職業(yè)學(xué)院
- von frey絲K值表完整版
- GB/T 2570-1995樹脂澆鑄體彎曲性能試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論