java语言 百分网手机站

Java中的Spring入门实例

时间:2020-11-10 18:15:48 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入门实例】相关文章:

1.Java中synchronized的使用实例

2.Java中的多态用法实例分析

3.Java中Websocket使用实例解析

4.讲解Java的Spring框架中的AOP实现

5.java中通用的线程池实例代码

6.java调用c函数的实例

7.java动态方法调度实例

8.关于java Spring整合Freemarker的详细步骤

9.java读取解析xml文件实例