引導語:大家知道Java中Spring是什麼嗎,讓本站小編告訴你們吧,以下是本站小編分享給大家的Java中的Spring入門例項,希望大家喜歡!
ng是什麼
網上對Spring以及使用Spring的好處的解釋鋪天蓋地,常常是各個網站之間互相拷貝,而且還引入了一堆的縮寫,什麼IoC、AOP……
我覺得對跟我一樣的初學者而言,可以這麼理解:Spring是基於反射機制寫的一些包,有了它以後你可以將類的例項化寫到一個配置檔案裡,由相應的Spring包負責例項化。
假設你有一個類A,以前你例項化時要寫A a = new A(),現在不用了,你只要寫一個xml檔案,並按Spring指定的格式配置好,它就能通過反射機制將A的例項返回給你。
至於使用Spring的好處,我會在下面的例項中提到。
2. 下載Spring
我第一次下載的是,覺得解壓後看了一下,Spring自身的jar應該是都有了,不過在後面的'程式編譯時出現:
Exception in thread "main" assDefFoundError: org/apache/commons/logging/LogFactory
沒有找到相關的jar包,後來嘗試下載並在裡面找到了包。
總而言之,我也不知道它們這些release包是怎麼組織起來的,汗。
3. 編寫示例
示例包含一個介面IProgrammingLanguage,用於表示程式語言,兩個類JavaLanguage跟PerlLanguage實現該介面用於表示特定的程式語言Java跟Perl。
另外有一個Developer類,用於表示IT開發者。最後,是程式入口所在的Main類。
3.1.介面
package example;
public interface IProgrammingLanguage {
public String whoAmI();
}
程式碼
package example;
public class JavaLanguage implements IProgrammingLanguage {
@Override
public String whoAmI() {
// TODO Auto-generated method stub
return "Java";
}
}
程式碼
package example;
public class PerlLanguage implements IProgrammingLanguage {
@Override
public String whoAmI() {
// TODO Auto-generated method stub
return "Perl";
}
}
(這個類用於描述一個開發人員,它包含一個IProgrammingLanguage型別的成員,用於表示該開發人員所使用的程式語言。在 Eclipse中選中該成員,右鍵—Source—Generate Getters and Setters…則可以自動生成相應的get、set方法,一開始我並沒有去生成這些,但在執行時出錯,提示缺少get、set方法。)
程式碼
package example;
public class Developer {
public IProgrammingLanguage language;
/**
* @return the language
*/
public IProgrammingLanguage getLanguage() {
return language;
}
/**
* @param language the language to set
*/
public void setLanguage(IProgrammingLanguage language) {
uage = language;
}
public String getCurrentUsingLanguage() {
return mI();
}
}
3.5.新增引用
程式碼
程式碼
package example;
import Factory;
import eanFactory;
import SystemResource;
import urce;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Resource r = new FileSystemResource("");
BeanFactory f = new XmlBeanFactory(r);
Developer d = (Developer) ean("DeveloperBean");
String s = urrentUsingLanguage();
tln("The developer is currently using: "+s);
}
}
執行此程式可以看到輸出是:
The developer is currently using: Perl
現在,假設有一天這個Developer不使用Perl而改用Java了,我們需要做什麼?我們並不需要改程式,只需要修改xml檔案就行了。