JavaEE-SSM:001認識DI、AOP、Mybatis、SpringMVC、Redis
阿新 • • 發佈:2018-11-19
1.DI(依賴注入)
以往的程式大多耦合性太大:在B的建構函式中構建了一個A的物件,這樣B就對A產生了依賴。
public class A
{
}
public class B
{
A a;
public B()
{
a = new A();
}
}
我們可以對其改造:
改造一:通過建構函式注入
public class A
{
}
public class B
{
A a;
public B(A a)
{
this.a = a;
}
}
改造二:通過set屬性注入
public class A { } public class B { A a; public void setA(A a) { this.a = a; } }
這樣,A和B之間耦合性解除,通過容器進行DI。
2.AOP(面向切面程式設計)
類似於Asp.net 的管道的概念,例如對於同一個HTTP請求,我們可以通過監聽器或者過濾器實施切入,在某個位置接管HTTP請求,並採取一定的處理,可以決定是否繼續管道鏈,或者直接返回。
3.MyBatis--一種ORM資料庫操作框架
通過ORM進行資料庫到POJO的對映,對映關係是通過XML配置檔案或者註解建立的。實際上,在操作的時候,程式設計師是直接操作一個介面的,這個介面中含有相關的增刪改查方法,每個方法對應著XML配置中的一個Mapper.XML檔案,裡面包含著真實的SQL語句。MyBatis的優勢就是可以自定義SQL語句,實現程式碼優化,同時,SQL語句是通過XML配置的,修改起來比較方便。
4.Spring MVC
AOP、DI等技術的實現,使得基於Spring的MVC三維設計具備良好的結構正規化。
Model是領域模型,資料操作邏輯,資料持久化等一系列操作均屬於Model範疇
View是有關JSP介面顯示相關的。(替代方案為Html5+CSS3+JS)
Controller是專門擷取HTTP請求並進行分發處理的模組,這裡涉及到業務邏輯的呼叫,資料持久化的呼叫等等。
5.Redis快取資料庫
Redis是一種記憶體級別的資料庫,快取在記憶體中,所以操作速度要比硬碟持久化要快。適合一些經常需要讀取的資料的臨時儲存。NoSQL的流行,使得Redis技術得以發展。
響應速度快:每秒可執行110000次寫操作或者81000次讀操作。
操作原子性:Redis事務保證操作的原子性。
快取、訊息佇列得心應手,短期資料、臨時資料儲存,支援高併發。
6.SSM框架+Redis整合