本文目錄一覽:
Java框架Spring是用來幹什麼的?
spring就是作為容器去管理你的類,有spring管理的類在整個服務器啟動期間在內存中只生成一份。
Spring的Ioc(控制反轉和依賴注入)
控制反轉:就是由容器控制程序之間的(依賴)關係,而非傳統實現中,由程序代碼直
接操控。
依賴注入:組件之間的依賴關係由容器在運行期決定 ,由容器動態的將某種依賴關係注
入到組件之中。通俗點說,例如A,B兩個類都交由spring管理,A中有B的引用,那麼在配置中可以事先配置好,服務器啟動時初始化A的時候會自動將B注入到A中,而不用再A中再次去用new來初始化B。spring還可以對事物進行管理。將hibernate的sessionFactory交由spring進行管理。她封裝了所有對事務處理的功能,包括異常時事務回滾,操作成功時數據提交等複雜業務功能。這都是由Spring容器來管理,大大減少了程序員的代碼量,也對事務有了很好的管理控制。
請問有誰知道java里spring的理解怎麼回答嗎?
通俗一點,首先spring是一個輕量級的容器,用來放bean,這一點很好理解。
有了這個容器,當我們想要創建一個service時,就可以直接從這個容器里拿;或者你想在一個service里調用DAO也不需要在service里創建,因為spring會從容器取出DAO,並注入到service里,也就是依賴注入。
調用者和被調用者之間的關係也是由這個容器來維護的,這就是控制反轉。
spring核心的東西:依賴注入 、控制反轉、面向切面
前面2個用的比較多,面向切面也就在數據庫的聲明式事務管理、記錄日誌的時候用
Java核心技術:Spring是什麼?
從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。簡單來說,Spring就是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。下面從整體上認識一下Spring的主要特徵:*輕量:從大小與開銷兩方面而言Spring都是輕量的。此外,Spring是非侵入式的:使用Spring,我們的類還是pojo類,完全不用繼承和實現Spring的類和接口等。也就是說,使用Spring的應用中的對象不依賴於Spring的特定類。*IoC:Spring通過控制反轉技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。可以認為IoC與JNDI相反–不是我們自己控制對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它,這就是DI–依賴注入。基本上就是對象不用自己動手管理和創建。完全由容器管理,我們只管用就行。*AOP:Spring提供了面向切面的編程支持,AOP將與程序業務無關的內容分離提取,應用對象只實現它們應該做的–完成業務邏輯–僅此而已。它們並不負責其它的系統級關注點,例如日誌或事務支持。AOP將與業務無關的邏輯橫切進真正的邏輯中。*框架:Spring可以將簡單的組件配置、組合成為複雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),而用戶就有更多的時間和精力去開發應用邏輯。所有Spring的這些特徵都能幫助我們夠編寫更乾淨、更可管理、並且更易於測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。*藉助Spring,榮國依賴注入,AOP應用,面向接口編程,來降低業務組件之間的耦合度,增強系統的擴展性。* 讓已有的技術和框架更加易用。*利用其對hibernate的SessionFactory、事務管理的封裝,更簡潔的應用hibernate.*Spring並不完全依賴於Spring,開發者可自由選用Spring框架的部分或全部*利用AOP思想,集中處理業務邏輯,減少重複代碼,構建優雅的解決方案。*低侵入式設計,代碼污染極低。Spring致力於J2EE應用的各層的解決方案,而不是僅僅專註於某一層的方案。可以說Spring是企業應用開發的”一站式”選擇,並貫穿表現層、業務層及持久層。雖然Spring可以一站式解決整個項目問題,但是Spring並不想取代那些已有的框架,而是與它們無縫地整合。Spring可以降低各種框架的使用難度,他提供了對各種優秀框架(如Struts、Hibernate、Hessian、Quartz等)的直接支持。使用Spring的主要目的是使J2EE易用和促進好的編程習慣,Spring的目標就是讓已有的技術更加易用。所以Spring的一個重要思想就是整合和兼容。
java為什麼要用spring
這些是框架 不用程序也可以寫出來! 但是用了以後會給我們提供很大的便利
這就是一個公司的架構師為什麼能賺那麼多錢的原因。 好的框架可以大大簡化開發難度、有很強的擴展性和可維護性!
Hibernate,不用它用JDBC也可以從數據庫查到數據,但是一張表有好多字段甚至是還要級聯查詢的話,JDBC代碼寫起來就有一定的困難了. 而用Hibernate以後,我們需要的只是配置好實體類與表的映射關係,類與類之間的關聯關係! 我們需要寫的查詢或插入語句就會很簡單,只是很簡單的一句hql解決問題。程序員可以更多的關注業務邏輯,從繁瑣的sql代碼中解脫出來,大大簡化開發難度。
Struts:MVC框架使得程序分成「相對」獨立地三層,利於大家分工協作。控制器與前台展示相分離,提高系統的可重用性和擴展性!
Spring: 優點太大了, 切面編程–靈活插入代碼 依賴-注入–通過配置裝載類的實例,大大降低類與類之間的耦合,易於維護和擴展 強大的事務管理功能 對其他框架的良好支持 。。。。。。這些都可以大大簡化我們的開發!
學習框架,最重要的是學習它們優秀的設計思想,融會貫通然後可以在你的項目中運用這些思想!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/180346.html