JavaWeb框架-Spring(基本概念)
Spring框架概述(百度百科)
Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。簡單來說,Spring是一個分層的JavaSE/EE full-stack(一站式) 輕量級開源框架。
輕量級:與EJB對比依賴的資源少
一站式:spring為每一層都提供了相應的解決方案(畫圖表示)
spring的核心思想
IOC:Inversion of Control,控制反轉(zhuǎn),是一中面向?qū)ο蟮脑O計模式,實現(xiàn)它最常用的方式就是DI(依賴注入)
AOP:Aspect Oriented Programming,面向切面編程,不修改源代的形式動態(tài)地為原本的系統(tǒng)增加新功能,通過配置的方式
spring的優(yōu)點
1.方便解耦,簡化開發(fā) (高內(nèi)聚低耦合)
? Spring就是一個大工廠(容器),可以將所有對象創(chuàng)建和依賴關系維護,交給Spring管理
? spring工廠是用于生成bean
2.AOP編程的支持
? Spring提供面向切面編程,可以方便的實現(xiàn)對程序進行權限攔截、運行監(jiān)控等功能
3.聲明式事務的支持
? 只需要通過配置就可以完成對事務的管理,而無需手動編程
4.方便程序的測試
? Spring對Junit4支持,可以通過注解方便的測試Spring程序
5.方便集成各種優(yōu)秀框架
? Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
6.降低JavaEE API的使用難度
? Spring 對JavaEE開發(fā)中非常難用的一些API(JDBC、JavaMail、遠程調(diào)用等),都提供了封裝,使這些API應用難度大大降低
spring的核心架構(gòu)
圖來自網(wǎng)絡
spring入門級開發(fā)過程(體驗IOC)
1.導入jar包(4個核心和1個依賴還有一個測試jar,還有一個hamcrest.jar,這是因為junit4.10以上版本不支持hamcrest,要么降低版本,要么導入相應的jar包,我們導入jar包
)
2.生成一個結(jié)構(gòu)和一個實現(xiàn)類
3.獲得這個service的實例
以前我們是直接用new的形式,例如這樣
獲得結(jié)果
現(xiàn)在我們交給spring來管理,從spring工廠獲得實例,所以要去配置文件配置,然后配置文件如下形式
1.位置:任意,開發(fā)中一般在classpath下(src)
2.名稱:任意,開發(fā)中常用applicationContext.xml
3.內(nèi)容:添加schema約束
然后我們就去配置
完成之后我們就可以去使用這個bean
Spring入門開發(fā)(體驗DI)
DI叫做依賴注入,就是一個對象需要使用另一個對象
注入,我們常用的是setter注入,還有其他的注入方式
所以我們?nèi)?chuàng)建一些類來完成這個體驗
1.dao接口
2.dao實現(xiàn)類
3.service接口
4.service接口實現(xiàn)類
5.去配置文件配置
寫個測試類
測試效果
這就是spring最基本的東西,今天開始把spring復習一遍,后面會慢慢完善spring的其他知識點。最后就可以整合struts2和hibernate一起做一個項目了
總結(jié)
以上是生活随笔為你收集整理的JavaWeb框架-Spring(基本概念)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高等数学(下)
- 下一篇: vcpkg Ubuntu安装