python爬取酷狗音樂
Spring——框架是一個開源的 Java 平臺,它為容易而快速的開發出耐用的 Java 應用程式提供了全面的基礎設施。
Spring的好處:
1,控制反轉(IOC)的思想,運用依賴注入(DI)的技術,讓我們管理物件的時候再也不用new new new了!防止大量物件的建立!防止元件之間的強依賴!
2,運用了大量的反射,代理,工廠方法,是我們學習編碼技巧的最好模範!
3,AOP(面向切面程式設計)技術,能夠使用少量程式碼搭建完美的的日誌管理,許可權管理,執行期監控!
4,低侵入性!讓我們可以輕鬆耦合諸如struts,hibernate,mybatis,redis,memcache,amoeba,actibemq等包括資料層,控制層,快取,資料中介軟體,訊息中介軟體的中介軟體!
5,低耦合特性:通過依賴注入特性,可以藉助spring容器建立,管理物件,防止在程式碼中硬性注入物件,防止物件混亂!
6,通過@transaction註解,可以實現宣告式事務,在註解中的程式碼都可以在一個事務當中,實現最簡單的事務控制,異常回滾!
7,spring原始碼使用了諸如工廠,單例,代理,構造者,策略,模板等多種設計模式,是JAVA程式設計師寫出優良程式碼的不二範例!
8,提供大量諸如beanUtils,qstringUtils等優秀工具類!
Spring的模組主要為以下幾類:
比較重要的幾個模組:
1.Core(核心容器):核心容器提供 Spring 框架的基本功能。核心容器的主要元件是BeanFactory
BeanFactory
使用控制反轉(IOC) 模式將應用程式的配置和依賴性規範與實際的應用程式程式碼分開。
2.AOP(面向切面):為業務模組所共同呼叫的邏輯或責任封裝起來,便於減少系統的重複程式碼,降低模組間的耦合度,並有利於未來的可操作性和可維護性。
3.ORM(物件關係對映):物件關係對映,它的實現思想就是將關係資料庫中表的資料對映成為物件,以物件的形式展現,這樣開發人員就可以把對資料庫的操作轉化為對這些物件的操作。spring中支援ORM的框架有hibernate、mybatis、JPA等。但是其中JPA是一種規範,hibernate和mybatis都遵循JPA規範。
4.Web MVC:以請求為驅動,圍繞 Servlet 設計,將請求發給控制器,然後通過模型物件,分派器來展示請求結果檢視。其中核心類是 DispatcherServlet,它是一個 Servlet,頂層是實現的Servlet介面。
IOC——控制反轉:
全稱為Inversion of Control,還有另外一個別名DI,Dependency Injection,依賴注入
所謂IOC,就是由Spring IOC 容器來負責物件的生命週期和物件之間的關係。在編碼階段,沒有例項化物件,也沒有設定依賴關係,而把它交給spring來處理,spring會在執行階段例項化,組裝物件,這種做法顛覆了傳統的的寫程式碼例項化,組裝物件,然後一步步執行
通常控制層的類依賴服務層的類,而服務層的類又依賴的dao層的類,這是最經典的依賴結構,使用ioc控制反轉的最佳例子,通過springIOC,在spring初始化的時候就向服務層的類注入dao層的類,向控制層類注入服務層的類,達到不需要new物件,就通過反轉控制,實現各個類之間的相互依賴,提升程式碼簡潔度,防止大量的物件建立,也可以防止元件之間的強依賴,達到高內聚,低耦合。
AOP——面向切面程式設計
全稱是:Aspect Oriented Programming,在程式開發中主要用來解決一些系統層面上的問題,比如日誌,事務,許可權等待,在某些特定的業務類上面織入日誌,事務,或者安全校驗,在執行這些業務之前或者之後執行織入的程式碼,都是aop的思想
ORM——物件關係對映
全稱是Object Relational Mapping,是一種為了解決面向物件與關係資料庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述物件和資料庫之間對映的元資料,將程式中的物件自動持久化到關係資料庫中。基於三個核心原則:簡單:以最基本的形式建模資料。傳達性:資料庫結構被任何人都能理解的語言文件化。精確性:基於資料模型建立正確標準化了的結構。通常一個實體類物件對應一個數據庫表,表的欄位就對應物件的屬性
web MVC——模型-檢視-控制器
全稱是Model-View-Controller,控制器Controller負責處理由DispatcherServlet分發的請求,它把使用者請求的資料經過業務處理層處理之後封裝成一個Model,然後再把該Model返回給對應的View進行展示。