更新時間:2020-06-20 12:36:52 來源:動力節點 瀏覽1969次
Spring框架是由于軟件開發的復雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務器端的開發。從簡單性、可測試性和松耦合性的角度而言,絕大部分Java應用都可以從Spring中受益。
Spring優點:
低侵入式設計,代碼的污染極低;
獨立于各種應用服務器,基于Spring框架的應用,可以真正實現Write Once,Run Anywhere的承諾;
Spring的IoC容器降低了業務對象替換的復雜性,提高了組件之間的解耦
Spring的AOP支持允許將一些通用任務如安全、事務、日志等進行集中式管理,從而提供了更好的復用;
Spring的ORM和DAO提供了與第三方持久層框架的良好整合,并簡化了底層的數據庫訪問;
pring的高度開放性,并不強制應用完全依賴于Spring,開發者可自由選用Spring框架的部分或全部。
Spring的核心機制
管理Bean
程序主要是通過Spring容器來訪問容器中的Bean,ApplicationContext是Spring容器最常用的接口,該接口有如下兩個實現類:
ClassPathXmlApplicationContext:從類加載路徑下搜索配置文件,并根據配置文件來創建Spring容器;
FileSystemXmlApplicationContext:從文件系統的相對路徑或絕對路徑下去搜索配置文件,并根據配置文件來創建Spring容器
publicclassBeanTest{publicstaticvoidmain(String args)throws Exception{ApplicationContext ctx=newClassPathXmlApplicationContext("beans.xml");Person p=ctx.getBean("person",Person.class);p.say;}}
Eclipse使用Spring
在Eclipse等IDE工具中,用戶可以自建User Library,然后把Spring的Jar包都放入其中,當然也可以將Jar包直接放在項目的/WEB-INF/lib目錄下,但是如果使用User Library,在項目發布時,需要將用戶庫所引用的Jar文件隨應用一起發布,就是將User Library所使用的Jar復制到/WEB-INF/lib目錄下,這是因為對于一個Web應用,Eclipse部署Web應用時不會將用戶庫的Jar文件復制到/WEB-INF/lib下,需要手動復制。
依賴注入
Spring框架的核心功能有兩個:
Spring容器作為超級大工廠,負責創建、管理所有的Java對象,這些Java對象被稱為Bean;
Spring容器管理容器中Bean之間的依賴關系,Spring使用一種被稱為“依賴注入”的方式來管理Bean之間的依賴關系。
使用依賴注入,不僅可以為Bean注入普通的屬性值,還可以注入其他Bean的引用。依賴注入是一種優秀的解耦方式,其可以讓Bean以配置文件組織在一起,而不是以硬編碼的方式耦合在一起。
理解依賴注入
Rod Johnson是第一個高度重視以配置文件來管理Java實例的協作關系的人,他給這種方式起了一個名字:控制反轉(Inverse of Control,IoC)。后來Martine Fowler為這種方式起了另一個名稱:依賴注入(Dependency Injection),因此不管是依賴注入,還是控制反轉,其含義完全相同。當某個Java對象(調用者)需要調用另一個Java對象(被依賴對象)的方法時,在傳統模式下通常有兩種做法:
原始做法:調用者主動創建被依賴對象,然后再調用被依賴對象的方法;
簡單工廠模式:調用者先找到被依賴對象的工廠,然后主動通過工廠去獲取被依賴對象,最后再調用被依賴對象的方法。
注意上面的主動二字,這必然會導致調用者與被依賴對象實現類的硬編碼耦合,非常不利于項目升級的維護。使用Spring框架之后,調用者無需主動獲取被依賴對象,調用者只要被動接受Spring容器為調用者的成員變量賦值即可,由此可見,使用Spring后,調用者獲取被依賴對象的方式由原來的主動獲取,變成了被動接受——所以Rod Johnson稱之為控制反轉。
另外從Spring容器的角度來看,Spring容器負責將被依賴對象賦值給調用者的成員變量——相當于為調用者注入它依賴的實例,因此Martine Fowler稱之為依賴注入。
以上就是動力節點java培訓機構的小編針對“學習spring必學的java基礎知識”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習