1. 程式人生 > >什麼是Spring?它有哪些好處? (現在基本上是面試必問了)

什麼是Spring?它有哪些好處? (現在基本上是面試必問了)

什麼是Spring?它有哪些好處?

Spring是一個輕量級控制反轉(IOC)和麵向切面(AOP)的容器框架,

主要是為瞭解決企業應用開發的複雜性而誕生的:

目的:解決企業級應用開發的複雜性。

功能:使用基本的JavaBean代替EJB。

範圍:任何Java應用。

 

Spring的存在是因為它自身的得天獨厚的優勢:
它定位的領域是許多其他流行的framework沒有的。
Spring是全面的和模組化的。
它的設計從底部幫助你編寫易於測試的程式碼。
Spring是潛在一站式解決方案。

Spring天生就存在如下的有點:
低侵入式設計,程式碼汙染極低。
Write Once,Run Anywhere
DI有效的降低了耦合度。
AOP提供了通用的任務的集中管理。
ORM和DAO簡化了對資料庫的訪問。
高度開放性,並不強制(貫穿於變現層,業務層,持久層)

Spring的優點給開發帶來的好處:


可以有效組織中間層物件。
使用同一的配置檔案。
促進良好的程式設計習慣,減少程式設計代價。
易於單元測試。(一Spring基本組就是JavaBean,二提供了對Juit的支援)
使EJB成為一種備選。

為資料存取提供了一致性的框架。


Spring特點:
方便解耦,簡化開發。
AOP(面向切面程式設計)的支援。
宣告式事物的支援
方便程式的測試
方便整合各種優秀框架。
降低JavaEE API使用難度。
Spring的原始碼是經典學習範例。

附AOP通俗的理解

       一個元件A,不關心其他常用的服務元件B,但是這個元件A使用B的時候,不是元件A自身去呼叫,

而是通過配置等其他方式,列如Spring中可以通過XML配置檔案。這樣就使得A壓根就不需要

知道服務元件B是怎麼樣的,愛存在不存在,愛怎麼樣存在都與A無關。A只需要關心自己的業
務邏輯,具體A使用B的時候,配置檔案去做,與具體的A元件無關。
附IOC通俗的理解如下

     IOC控制反轉:說的是建立物件例項的控制權從程式碼控制剝離到IOC容器控制,實際就是你在xml檔案控制,

側重於原理。

     DI依賴注入:說的是建立物件例項時,為這個物件注入屬性值或其他物件例項後,側重於實現。
     總結:


Spring帶來了複雜dJ2EE開發的春天。
它的核心是輕量級的IOC容器,它的目標是為J2EE應用提供了全方位的整合框架,在Spring框架
下實現多個子框架的組合,這些子框架之間可以彼此獨立,也可以使用其他的框架方案加以代替。

Spring希望為企業應用提供一站式的解決方案(建議:如果是高併發大型專案,慎重使用,

因為專案大量使用反射機制,必定會影響效能。)

--------------------- 本文來自 zhupengqq 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/zhupengqq/article/details/51228741?utm_source=copy