天天看點

java學習筆記——《我的Java打怪日記》一、概念二、架構的作用三、架構之間的關系四、相關配置檔案五、進階用法六、springboot加載器順序七、SpringBoot整合Mybatis核心八、MybatisPlus九、JSON格式十、Ajax十一、JS變量的基本用法十二、跨域說明

一、概念

1.Spring:是一個開源的輕量級的java開發架構。

2.SpringBoot:時用來簡化Spring應用的初始搭建以及開發過程。

3.SpringMVC:Spring MVC是一個基于Java的實作了MVC設計模式的請求驅動類型的輕量級Web架構,通過把Model,View,Controller分離,将web層進行職責解耦,把複雜的web應用分成邏輯清晰的幾部分,簡化開發,減少出錯,友善組内開發人員之間的配合。

4.mybatis:Mybatis是一個優秀的持久層架構,它對JDBC操作資料庫的過程進行封裝,使開發者隻需要關注sql本身。

二、架構的作用

1.SpringMVC作用:接收使用者送出的資料,傳回伺服器的資料。(互動)

2.Spring作用:整合其他的第三方架構,可以讓程式調用以一種統一的方式進行調用(整合)

3.Mybatis作用:整合JDBC友善使用者與資料庫進行互動(持久化)

4.SpringBoot作用:簡化Spring等架構的操作(簡化)。了解:SpringBoot就是一個架構的進階API

三、架構之間的關系

java學習筆記——《我的Java打怪日記》一、概念二、架構的作用三、架構之間的關系四、相關配置檔案五、進階用法六、springboot加載器順序七、SpringBoot整合Mybatis核心八、MybatisPlus九、JSON格式十、Ajax十一、JS變量的基本用法十二、跨域說明

四、相關配置檔案

1.pom.xml

(1)parent标簽說明:是spring官網負責維護,在其中定義了幾乎所有的架構與springboot相容的版本資訊。作用是為了集中定義版本号。

(2)dependencies标簽:依賴:項目中需要添加什麼功能,則依賴什麼jar包。

(3)build标簽:插件。

2.properties

(1)properties的文法是key-value結構,基本寫法:key=value 不要寫多餘的空格。

(2)properties本身就是字元串的資料類型,是以無需添加引号。

(3)IDEA的設定是UTF-8,是IDEA讀取的字元集的編碼,但是properties在通過IO讀取的時候,預設編碼是ISO-8859-1.是以中文必定亂碼,需要設定字元集。

2.YML

(1)資料結構 key-value結構,寫法: key:(空格)value

(2)yml檔案有層級結構,注意父子級的文法的縮進

(3)yml檔案程式預設讀取時采用UTF-8編碼

五、進階用法

1.熱部署說明

作用:添加依賴之後,代碼修改不需要手動重新開機伺服器,隻需等待一會兒,就會自動更新。

2.lombok

作用:簡化使用者建立實體對象的過程,由插件自動完成實體對象中常用方法的建構(get、set、toString、構造等)

注解:1.@Data:以便為屬性指派get、set方法。@Accessors(chain=true)鍊式加載,set方法傳回本對象來實作鍊式加載。

注意:在linux系統中運作項目,是否需要體檢安裝插件?不要,因為lombok在編譯期有效,由xxx.java檔案編譯為xxx.class檔案時,已經動态添加了set、get方法。是以在項目釋出的時候(xxx.class檔案組成的xxx.jar),lombok已經完成任務,是以不需要安裝lombok環境。

六、springboot加載器順序

1.當使用者點選main方法時啟動程式

2.SpringBoot程式開始加載主啟動類上邊的注解@SpringBootApplication(SpringBoot内部運作機制開始執行)

3.當SpringBoot程式開始執行,則會動态的擷取目前主啟動類的包路徑。

4.通過包掃描的機制,将特定的注解辨別的類(Controller、Service、Dao)。交給Spring容器管理。

5.Spring容器維護的是一個Map集合:key:類名首字母小寫,value:執行個體化對象:

6.當對象建立時(執行個體化),遇到@Autowired 則需要依賴注入對象,當整個Spring容器内部都沒有該對象時,則會報錯,注入失敗,如果Map中維護了需要注入的對象則@Autowired 注入成功,則最終對象執行個體化正常

7.當上述的操作都運作成功之後,則Spring容器啟動成功,等待使用者調用。

七、SpringBoot整合Mybatis核心

1.導包和編輯yml檔案

2.為接口建立代理對象 注解:@Mapper 因為接口不能執行個體化對象,是以Spring就為接口建立了一個代理對象。

3.@MapperScan:SpringBoot為了簡化代碼,提供了包掃描機制,為包路徑下的接口建立代理對象,之後交給Spring容器管理可以在任意位置依賴注入

4.mybatis實作資料查詢時由2中寫法:

1.将所有的sql語句都寫在xml映射檔案裡。

2.可以将sql語句通過注解的方式辨別在接口方法中

八、MybatisPlus

1.概念:Mybatis-Plus,簡稱MP,是一個Mybatis的增強工具,在Mybatis的基礎上隻做增強不做改變,為簡化開發,提高效率而生。使用MP主要完成單表的CURD操作簡化開發。

2.注解:@TableName("demo_user") 實作對象和資料庫表明的映射

@TableId(type = IdType.AUTO) 設定主鍵自增

@TableFIeld("name") 實作屬性與字段的映射

規則:如果屬性與字段的名字一緻,則注解可以shenglve

3.在Mapper層的類中,繼承接口BeanMapper,别忘了添加泛型對象,否則程式無法執行。

4.MybatisPlus中最重要的就是QueryWrapper類的方法,這個類封裝了一些資料庫的常見關鍵字和操作,然後将對象傳遞給相應的增删改查,就可以執行sql語句。

九、JSON格式

JSON(javaScript Object Notation)時一種輕量級的資料交換格式。采用完全獨立于程式語言的文本格式。

1.對象格式:{"id":1,"name":"鋼鐵俠","age":200,"sex":"男"}

2.數組格式:["張三","李四","王五"]

3.嵌套格式:[{"id":1,"name":"鋼鐵俠","age":200,"sex":"男"},{"id":2,"name":"蜘蛛俠","age":50,"sex":"男"}]

十、Ajax

1.特點:局部重新整理,異步通路

2.說明:Ajax是實作前後端互動,最為常用的一種方式

3.Ajax異步調用的原理:

同步:使用者發起請求時,要求第一時間伺服器做出相應,在此期間使用者不可以做其他操作,隻能等待伺服器傳回資料,重新整理一次。

異步:使用者發起請求時,要求伺服器做出響應,在此期間使用者可以做其他的操作,如果後端伺服器傳回資料則通過回調函數通知客戶,局部重新整理多次。

java學習筆記——《我的Java打怪日記》一、概念二、架構的作用三、架構之間的關系四、相關配置檔案五、進階用法六、springboot加載器順序七、SpringBoot整合Mybatis核心八、MybatisPlus九、JSON格式十、Ajax十一、JS變量的基本用法十二、跨域說明

4.常見的請求類型

(1)GET

(2)POST

(3)PUT

(4)DELETE

5.關于Ajax總結:

Ajax是局部刷星,異步通路

Ajax異步的和興在于Ajax引擎(代理)

AJax請求調用時無論是否成功,都通過回調函數的方式進行。sucess、error

Ajax參數傳遞的寫法:對象寫法,字元串拼接

for循環方式1.正常方式2.in3.of

6.跨域請求實作

需要添加@CrossOrigin的注解

十一、JS變量的基本用法

1.var關鍵字:var id;辨別定義一個變量名稱為id。該變量相當于在全局範圍内聲明了一個變量。該變量聲明沒有作用域的概念。弊端:由于沒有作用域,導緻變量使用混亂。

2.let關鍵字:從新版本呢的JS開始,相容支援let,該關鍵字的用法與var一樣,但是有作用域的範圍,更加通用。

3.const關鍵字:該關鍵字用來辨別常量,該資料不變。

十二、跨域說明

1.同源政策

規定:浏覽器的網址與Ajax請求網址必須滿足同源政策,浏覽器才能解析Ajax,執行正确的請求。

2.規定要求:請求協定://域名:端口号

如果三者都滿足,則符合同源政策。浏覽器可以正确解析。反之,不滿足同源政策,稱為跨域請求,則浏覽器不能正常解析ajax請求。

練習:

浏覽器位址: http://localhost:8090/userList.html

Ajax請求位址: http://localhost:8090/abc/b 滿足同源政策

浏覽器位址: http://localhost:80/userList.html

Ajax請求位址: http://localhost:8090/abc/b 端口不同 跨域請求

Ajax請求位址: https://localhost:8090/abc/b 協定不同,跨域請求

manage.jt.com 對應的IP假設為10.6.6.8

浏覽器位址:

http://manage.jt.com/userList.html

Ajax請求位址:

http://10.6.6.8/abc/b

跨域請求 域名不同(即使映射也是跨域)

http://manage.jt.com:/userList.html

http協定預設端口80

http://manage.jt.com:80/aaa/bbb

同域請求

3.CORS介紹:

CORS時一個W3C标準,全稱是跨域資源共享。