先进的框架Spring(3)
来源:互联网 发布:红楼梦贾迎春知乎 编辑:程序博客网 时间:2024/05/17 00:09
三、 Spring初体验
这一节我用一个具体的例子Greeting,来说明使用Spring开发的一般流程和方法,以及Spring配置文件的写法。
首先创建一个Speaker类,你可以把这个类看做是POJO。
代码片段5:
- public class Speaker
- {
- public void sayHello()
- {
- System.out.println("Hello!");
- }
- }
再创建一个Greeting类。
代码片段6:
- public class Greeting
- {
- private Speaker speaker;
- public void setSpeaker(Speaker speaker)
- {
- this.speaker = speaker;
- }
- public void greet()
- {
- speaker.sayHello();
- }
- }
然后要创建一个Spring的配置文件把这两个类关联起来。
代码片段7(applicationContext.xml):
- <?xml version="1.0" encoding="UTF-8"?>
- "-//SPRING//DTD BEAN//EN"
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <BEAN&NBSP;ID="Speaker" class="Speaker">
- <BEAN&NBSP;ID="Greeting" class="Greeting">
- <PROPERTY&NBSP;NAME="speaker">
- <REF&NBSP;BEAN="Speaker"/>
要用Spring Framework必须把Spring的包加入到Classpath中,我用的是Eclipse+MyEclipse,这些工作是自动完成的。推荐用Spring的配置文件编辑器来编辑,纯手工编写很容易出错。我先分析一下这个xml文件的结构,然后再做测试。从节点开始,先声明了两个,第二个bean有一个speaker属性(property)要求被注入,注入的内容是另外一个bean Speaker。这里的命名是符合JavaBean规范的,也就是说如果是speaker属性,那么Spring容器就会调用setSpeaker()来注入这个属性。是reference的意思,表示引用另外一个bean。
下面看一段简单的测试代码:
代码片段8:
- public static void main(String[] args)
- {
- ApplicationContext context =
- New ClassPathXmlApplicationContext("applicationContext.xml");
- Greeting greeting = (Greeting)context.getBean("Greeting");
- greeting.greet();
- }
这段代码很简单,如果你上文都看懂了,那么这里应该没有问题。值得注意的是Spring有两种方式来创建容器(我们不再用上文我们自己编写的Container),一种是ApplicationContext,另外一种是BeanFactory。ApplicationContext更强大一些,而且使用上两者没有太大区别,所以一般说来都用ApplicationContext。Spring容器帮助我们维护我们在配置文件中声明的Bean以及它们之间的依赖关系,我们的Bean只需要关注自己的核心业务。
- 先进的框架Spring(3)
- 先进的框架Spring(4)
- 先进的框架Spring(5)
- 先进的框架Spring(2)
- 先进的开发框架—理解什么是Spring
- 先进的开发框架—理解什么是Spring
- Spring先进思想与实用主义的集大成者
- 单向链表的创建与遍历(先进先出和先进后出)
- Spring框架学习(3):spring属性配置的细节
- 先进的仓库管理模式
- 先进的自动布局
- Spring框架的基础使用(Spring框架的入门)
- 先进后出堆(C)
- Eclipse揭幕基于先进物流技术的开源SOA框架
- 进销存先进先出(选自邹建的blog)
- YOLO9000(一个先进实时的目标检测系统)
- 从《亮剑》看先进的管理(原创)
- spring框架学习(3)
- 先进的框架Spring(2)
- Jade 源码阅读
- Eclipse连接MySQL数据库
- 嗯,老师让我们写一个xml在线编辑器
- 使用popen()函数获取其他Console中的内容
- 先进的框架Spring(3)
- JAVA泛型
- Linux EXPORT_SYMBOL
- mysql 几点优化
- 使用BusyBox制作Linux根文件系统
- Drawable&Drawable Resources——BitmapDrawable应用实例
- 父子頁面交互操作
- 事务隔离级别
- C语言OO编程