亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

java語(yǔ)言

Java中的Spring入門(mén)實(shí)例

時(shí)間:2025-02-27 17:17:24 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java中的Spring入門(mén)實(shí)例

  引導(dǎo)語(yǔ):大家知道Java中Spring是什么嗎,讓百分網(wǎng)小編告訴你們吧,以下是百分網(wǎng)小編分享給大家的Java中的Spring入門(mén)實(shí)例,希望大家喜歡!

  1.Spring是什么

  網(wǎng)上對(duì)Spring以及使用Spring的好處的解釋鋪天蓋地,常常是各個(gè)網(wǎng)站之間互相拷貝,而且還引入了一堆的縮寫(xiě),什么IoC、AOP……

  我覺(jué)得對(duì)跟我一樣的初學(xué)者而言,可以這么理解:Spring是基于反射機(jī)制寫(xiě)的一些包,有了它以后你可以將類(lèi)的實(shí)例化寫(xiě)到一個(gè)配置文件里,由相應(yīng)的Spring包負(fù)責(zé)實(shí)例化。

  假設(shè)你有一個(gè)類(lèi)A,以前你實(shí)例化時(shí)要寫(xiě)A a = new A(),現(xiàn)在不用了,你只要寫(xiě)一個(gè)xml文件,并按Spring指定的格式配置好,它就能通過(guò)反射機(jī)制將A的實(shí)例返回給你。

  至于使用Spring的好處,我會(huì)在下面的實(shí)例中提到。

  2. 下載Spring

  我第一次下載的是with-docs.zip,覺(jué)得解壓后看了一下,Spring自身的jar應(yīng)該是都有了,不過(guò)在后面的程序編譯時(shí)出現(xiàn):

  Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

  沒(méi)有找到相關(guān)的jar包,后來(lái)嘗試下載dependencies.zip并在里面找到了com.springsource.org.apache.commons.logging-1.1.1.jar包。

  總而言之,我也不知道它們這些release包是怎么組織起來(lái)的,汗。

  3. 編寫(xiě)示例

  示例包含一個(gè)接口IProgrammingLanguage,用于表示編程語(yǔ)言,兩個(gè)類(lèi)JavaLanguage跟PerlLanguage實(shí)現(xiàn)該接口用于表示特定的編程語(yǔ)言Java跟Perl。

  另外有一個(gè)Developer類(lèi),用于表示IT開(kāi)發(fā)者。最后,是程序入口所在的Main類(lèi)。

  3.1.接口IProgrammingLanguage.java

  package example;

  public interface IProgrammingLanguage {

  public String whoAmI();

  }

  3.3.JavaLanguage.java

  代碼

  package example;

  public class JavaLanguage implements IProgrammingLanguage {

  @Override

  public String whoAmI() {

  // TODO Auto-generated method stub

  return "Java";

  }

  }

  3.3.PerlLanguage.java

  代碼

  package example;

  public class PerlLanguage implements IProgrammingLanguage {

  @Override

  public String whoAmI() {

  // TODO Auto-generated method stub

  return "Perl";

  }

  }

  3.4.Developer.java

  (這個(gè)類(lèi)用于描述一個(gè)開(kāi)發(fā)人員,它包含一個(gè)IProgrammingLanguage類(lèi)型的成員,用于表示該開(kāi)發(fā)人員所使用的編程語(yǔ)言。在 Eclipse中選中該成員,右鍵—Source—Generate Getters and Setters…則可以自動(dòng)生成相應(yīng)的get、set方法,一開(kāi)始我并沒(méi)有去生成這些,但在運(yùn)行時(shí)出錯(cuò),提示缺少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) {

  this.language = language;

  }

  public String getCurrentUsingLanguage() {

  return language.whoAmI();

  }

  }

  3.5.添加引用

  org.springframework.core-3.0.2.RELEASE.jar

  org.springframework.beans-3.0.2.RELEASE.jar

  com.springsource.org.apache.commons.logging-1.1.1.jar

  3.6.hellospringworld.xml

  代碼

  3.7.Main.java

  代碼

  package example;

  import org.springframework.beans.factory.BeanFactory;

  import org.springframework.beans.factory.xml.XmlBeanFactory;

  import org.springframework.core.io.FileSystemResource;

  import org.springframework.core.io.Resource;

  public class Main {

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  Resource r = new FileSystemResource("hellospringworld.xml");

  BeanFactory f = new XmlBeanFactory(r);

  Developer d = (Developer) f.getBean("DeveloperBean");

  String s = d.getCurrentUsingLanguage();

  System.out.println("The developer is currently using: "+s);

  }

  }

  運(yùn)行此程序可以看到輸出是:

  The developer is currently using: Perl

  現(xiàn)在,假設(shè)有一天這個(gè)Developer不使用Perl而改用Java了,我們需要做什么?我們并不需要改程序,只需要修改xml文件就行了。

【Java中的Spring入門(mén)實(shí)例】相關(guān)文章:

Java中synchronized的使用實(shí)例05-31

Java中如何獲取Spring中配置的bean09-14

講解Java的Spring框架中的AOP實(shí)現(xiàn)10-30

Java中Websocket使用實(shí)例解析08-11

解析Java中如何獲取Spring中配置的bean10-19

Java中的多態(tài)用法實(shí)例分析10-23

java中spring的幾個(gè)重要類(lèi)和接口09-10

Java中的MessageFormat.format用法實(shí)例10-23

java中通用的線程池實(shí)例代碼08-27