2014-03-31 19 views
1

其實我在進入Spring Framework之前有一個很大的疑問,不知道正確的原因我不能進一步移動,我的意思是我不能盲目學習。實際上Spring Framework的用處是什麼?

讓我們來看一個有一個類的例子,我們將訪問這些變量。

public class Example { 
    String name; 

    Example() { 
    this.name="Hello World"; 
    } 

    public static void main(String args[]) { 
    Example object=new Example(); 
    System.out.println(object.name); 
    } 
} 

在這裏,我只是打印名稱「Hello World」。現在看到,它僅僅擁有10行na?而不是像這樣完成這項工作,爲什麼我們要創建POJO類和XML文件並添加庫並這樣做。 。

真的我不知道我們用彈簧做了什麼? 只是我們沒有使用關鍵字'new'。而已 。 。

真的我很困惑,請幫助我一個人。 。首先,我很抱歉問這個愚蠢的問題,但有了這個疑問,我不能再進一步行動了。 。

謝謝:)

+0

谷歌「依賴注入」和「關注點分離」 – TheLostMind

+0

我認爲這將解釋一點點http://martinfowler.com/articles/injection.html#InversionOfControl – Karthigeyan

+1

一般不建議在較小的項目中使用Spring ,其中控制和依賴注入反轉的好處超過了使用Spring的「成本」。您顯示的示例應用程序也將被分類爲「較小的項目」。 –

回答

1

Spring Framework和其他類似項目用於組織大型項目,在使用時能夠正確,極大地簡化結構,減少那些大型項目中的對象的共同依賴。

雖然它們通常只對大型項目或Web項目有用,但從它們中獲得的收益在開始執行更復雜的事情之前並未開始啓動。

+0

雅你是對的,在大項目中,春天會很有用,但我只是想完美的理由,我的意思是我需要一個完美的例子,如果你可以意味着只是說一個實時的例子或任何與此有關的請! –

1

使用Spring IoC的原因之一(我認爲最值得)是敏捷類實現管理的能力。

E.g.您需要將某個類的實現更改爲另一個類 - 如果您正在使用Spring IoC,則只需執行一件事 - 在.xml配置文件中更改實現類名稱,則無需重新編譯整個項目。

這是使用IoC容器的優勢 - 部分重新分配給外部類實現提供者,並使整個系統的操作更加靈活。

我可以建議你閱讀這篇大文章,以獲得更多關於IoC容器:http://martinfowler.com/articles/injection.html

+0

所以,如果我們需要添加新的或刪除的東西,我們可以簡單地刪除xml中的特定字段,並且不需要在主類中更改權限? –

+0

@RajeevUlaganathan,是的,我們讓應用程序的某些部分更加獨立,並且排除了特定類實現的硬編碼。 – bsiamionau

+0

如果您使用組件掃描等現代聲明性功能,甚至不需要更改任何XML。 – chrylis

0

春天也不會有用的喜歡你的「Hello World」非常小的應用程序。

但是,如果你想開發一個更復雜的應用程序,如Web應用程序,Spring可以是有用的。

它是從basicly XML(或Java)CONF和/或Java註解創建並存儲在一個的ApplicationContext豆(大多單)的容器。所有這些豆將可用於依賴注入,這將幫助您簡化您的項目的體系結構。

+0

對不起,我只給了例子helloworld。 。實際上,我需要完美的理由說明爲什麼我們需要爲春季遷徙? –

0

像許多答案中指定的那樣,Spring不是用於小型Hello World類型的項目,而是用於企業級解決方案,您希望有一個框架句柄控制流程,而不是專注於程序需要做什麼。

在Spring中,一旦設置了配置文件等,使用RequestMapper就可以輕鬆處理流量控制。例如,您可以爲GET,POST,DELETE方法指定不同的入口點(處理程序方法)。另外,您可以使用這些方法中的帶註釋的參數輕鬆訪問表單變量。另外,您還可以根據需要爲這些表單對象獲取驗證方法,您可以對其進行擴展。您可以輕鬆從文件中獲取屬性。您可以在啓動過程中實例化單例(或非單例)類。有幾件神奇的事情可以做。

但這只是Spring MVC的東西。如果你想增加網站的安全性,你可以整合Spring安全性。如果你想訪問數據庫,你可以使用Spring JDBC。我在Spring中使用了ehCaching。還有其他幾個與Spring很好地集成的庫。

但是至於你的問題,如果你應該學習Spring,那麼答案就在於其他參數。 Spring並不是你可以使用的唯一框架。例如,有幾個競爭的框架,比如Java EE。最後,你應該使用的框架取決於其他因素,如你的要求和內部能力。

相關問題