先进的框架Spring(3)

来源:互联网 发布:红楼梦贾迎春知乎 编辑:程序博客网 时间:2024/05/17 00:09

三、    Spring初体验
这一节我用一个具体的例子Greeting,来说明使用Spring开发的一般流程和方法,以及Spring配置文件的写法。
首先创建一个Speaker类,你可以把这个类看做是POJO。
代码片段5:
  1. public class Speaker 
  2. {
  3.     public void sayHello()
  4.     {
  5.         System.out.println("Hello!");
  6.     }
  7. }

再创建一个Greeting类。
代码片段6:

  1. public class Greeting 
  2. {
  3.     private Speaker speaker;
  4.     public void setSpeaker(Speaker speaker)
  5.     {
  6.         this.speaker = speaker;
  7.     }
  8.     public void greet()
  9.     {
  10.         speaker.sayHello();
  11.     }
  12. }


然后要创建一个Spring的配置文件把这两个类关联起来。
代码片段7(applicationContext.xml):

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. "-//SPRING//DTD BEAN//EN" 
  3.     "http://www.springframework.org/dtd/spring-beans.dtd">
  4.     <BEAN&NBSP;ID="Speaker" class="Speaker">
  5.     <BEAN&NBSP;ID="Greeting" class="Greeting">
  6.         <PROPERTY&NBSP;NAME="speaker">
  7.             <REF&NBSP;BEAN="Speaker"/>
  8.         
  9.     

 

 

要用Spring Framework必须把Spring的包加入到Classpath中,我用的是Eclipse+MyEclipse,这些工作是自动完成的。推荐用Spring的配置文件编辑器来编辑,纯手工编写很容易出错。我先分析一下这个xml文件的结构,然后再做测试。从节点开始,先声明了两个,第二个bean有一个speaker属性(property)要求被注入,注入的内容是另外一个bean Speaker。这里的命名是符合JavaBean规范的,也就是说如果是speaker属性,那么Spring容器就会调用setSpeaker()来注入这个属性。是reference的意思,表示引用另外一个bean。
下面看一段简单的测试代码:
代码片段8:

  1. public static void main(String[] args) 
  2. {
  3.         ApplicationContext context = 
  4.             New ClassPathXmlApplicationContext("applicationContext.xml");
  5.         Greeting greeting = (Greeting)context.getBean("Greeting");
  6.         greeting.greet();
  7. }


这段代码很简单,如果你上文都看懂了,那么这里应该没有问题。值得注意的是Spring有两种方式来创建容器(我们不再用上文我们自己编写的Container),一种是ApplicationContext,另外一种是BeanFactory。ApplicationContext更强大一些,而且使用上两者没有太大区别,所以一般说来都用ApplicationContext。Spring容器帮助我们维护我们在配置文件中声明的Bean以及它们之间的依赖关系,我们的Bean只需要关注自己的核心业务。

 

 

原创粉丝点击