當多個用戶端對伺服器發起請求時,伺服器會使用多執行緒同時處理這些請求,使得請求處理的時間較長,同時,多個執行緒同時執行處理數據,記憶體中的數據量也會特別大,對伺服器造成壓力,使用訊息佇列可以使那些不需要立即被處理的請求排隊,可以減輕伺服器的壓力,使用的時生產者消費者模型
相關術語
簡化持久層的開發,使用Mybatis進行CRUD操作時,只需要定義存取數據的抽象方法,再編寫抽象方法(抽象方法不允許過載)對應的SQL語句即可
pageHelper
步驟,1.載入驅動2.讀取數據庫的url、username、password,建類連線
通過註解的方式直接在mapper介面中編寫SQL語句:@insert@Update@Delet@Select,@Options(userGenertorKeys=true,keypropertis=「id」)自動生成主鍵
多參數的問題可以使用arg或者param排號解決,但是無法清除的表達出語意,因此使用@param(「別名」)來解決多參數語意不明的問題,後續在在佔位符中寫別名進行區分
動態SQL-foreach:需要將抽象方法的參數設計成多參數形式,或者時集合或者陣列的形式,然後在mapper.xml檔案中的查詢語句的條件中使用foreach節點
#{}和${}的問題
名稱不一致導致無法自動封裝
在Mybatis基礎上,可以自動生成常規存取數據庫的SQL語句,使得開發人員可以不再編寫每張表都會有的比如根據id查詢,刪除,插入等
MybatisPlus-generator
vue
漸進式前端框架,雙向系結機制 機製,注重於數據的傳輸,減少對dom樹的操作
ajax
jQuery
javaScript
css
Bootstrap
vue-select
summernote
一個更好用的SpringMvc,遵循約定大於設定的思想,預設完成絕大多數的設定,並且預設即成絕大部分常用依賴
Springboot整合Mybatis步驟:1.新增Mybatis依賴2.在組態檔properties中新增數據庫資訊url、username、password。3.建立mapper介面定義持久層方法,在resource中複製貼上mapper.xml檔案,並將名稱空間指定爲mapper的介面名。4.在properties檔案中新增mapper.xml的classpath。5.在設定類上新增MapperScan(」mapper介面包名「)
註解
Model+View+Controller,也可以認爲是完成檢視和控制器的之間的互動關係,在java EE傳統模式下會存在大量的servlet元件,同時會有大量servlet物件長期佔用記憶體的問題,並且SpringMvc極大的簡化了開發
核心執行流程
註解
@RequestMapping(「請求路徑」),其中對映的請求路徑可以有多個,也可以在其中設定,請求的方法是post還是get
@ResponseBody:表示返回字串,不反回試圖名稱
@EnableWebMvc註解相當於設定了web.xml檔案
@Configuration將該類設定成啓動類
@Requestparam(「別名」),設定參數別名
接收參數
重定向與轉發
攔截器interceptor
SpringMvc建立流程
基於SpringMvc的檔案上傳
規定格式
組態檔中設定上傳位置:spring.resources.static-locations=file:d:/upload
組態檔
上傳方法的參數MultipartFile
Spring 家族中的安全框架,Springboot對SpringSecurity提供了自動化設定方案,其核心是一組過濾器鏈 basic Authentication Filter
基於記憶體驗證的登錄
建立SpringSecurityConfig的設定類,這個類繼承WebSecurityConfigurerAdapter,重寫Protect configure(AuthenticationManagerBuilder auth)方法,在這個方法中可以設定允許通過的使用者名稱和密碼及許可權
UserDetailsService介面,建立一個類,實現該介面,重寫其中的UserDatils loadUserByUsername(String username),該方法表示給定一個使用者名稱,獲取使用者詳情
查詢數據庫驗證登錄:查詢數據庫通過username找到使用者名稱和密碼,許可權,構建Userdatils物件,再將物件返回
存取控制:在Security設定類中重寫Protect void configure(HttpSecurity http)方法,對存取進行設定
許可權控制:
通過SpringSecurity獲取當前使用者的資訊:
Bean物件的作用域
Bean物件的生命週期
自動裝配
@Resource
@Autowired
通過自動裝配和使用介面的方式實現解耦
Spring也可以實現方法參數的自動裝配,此時不需要直接
元件掃描
設定類
讀取組態檔
XMind - Trial Version