<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java中的Spring入門實例

    時間:2025-02-27 17:17:24 java語言 我要投稿
    • 相關推薦

    Java中的Spring入門實例

      引導語:大家知道Java中Spring是什么嗎,讓百分網小編告訴你們吧,以下是百分網小編分享給大家的Java中的Spring入門實例,希望大家喜歡!

      1.Spring是什么

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

      我覺得對跟我一樣的初學者而言,可以這么理解:Spring是基于反射機制寫的一些包,有了它以后你可以將類的實例化寫到一個配置文件里,由相應的Spring包負責實例化。

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

      至于使用Spring的好處,我會在下面的實例中提到。

      2. 下載Spring

      我第一次下載的是with-docs.zip,覺得解壓后看了一下,Spring自身的jar應該是都有了,不過在后面的程序編譯時出現:

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

      沒有找到相關的jar包,后來嘗試下載dependencies.zip并在里面找到了com.springsource.org.apache.commons.logging-1.1.1.jar包。

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

      3. 編寫示例

      示例包含一個接口IProgrammingLanguage,用于表示編程語言,兩個類JavaLanguage跟PerlLanguage實現該接口用于表示特定的編程語言Java跟Perl。

      另外有一個Developer類,用于表示IT開發者。最后,是程序入口所在的Main類。

      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

      (這個類用于描述一個開發人員,它包含一個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) {

      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);

      }

      }

      運行此程序可以看到輸出是:

      The developer is currently using: Perl

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

    【Java中的Spring入門實例】相關文章:

    Java中synchronized的使用實例05-31

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

    講解Java的Spring框架中的AOP實現10-30

    Java中Websocket使用實例解析08-11

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

    Java中的多態用法實例分析10-23

    java中spring的幾個重要類和接口09-10

    Java中的MessageFormat.format用法實例10-23

    java中通用的線程池實例代碼08-27

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人