- 前言
- 第一部分 核心实现
- 第 1 章 Spring 整体架构和环境搭建
- 第 2 章 容器的基本实现
- 第 3 章 默认标签的解析
- 第 4 章 自定义标签的解析
- 第 5 章 bean 的加载
- 第 6 章 容器的功能扩展
- 第 7 章 AOP
- 第二部分 企业应用
- 第 8 章 数据库连接 JDBC
- 第 9 章 整合 MyBatis
- 第 10 章 事务
- 第 11 章 SpringMVC
- 第 12 章 远程服务
- 第 13 章 Spring 消息
2.1 容器基本用法
bean 是 Spring 中最核心的东西,因为 Spring 就像是个大水桶,而 bean 就像是容器中的水,水桶脱离了水便也没什么用处了,那么我们先看看 bean 的定义。
public class MyTestBean {
private String testStr = "testStr";
public String getTestStr() {
return testStr;
}
public void setTestStr(String testStr) {
this.testStr = testStr;
}
}
很普通,bean 没有任何特别之处,的确,Spring 的目的就是让我们的 bean 能成为一个纯粹的 POJO,这也是 Spring 所追求的。接下来看看配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.Springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.Springframework.org/schema/beans http://www. Springframework.
org/schema/beans/Spring-beans.xsd">
<bean id="myTestBean" class="bean.MyTestBean"/>
</beans>
在上面的配置中我们看到了 bean 的声明方式,尽管 Spring 中 bean 的元素定义着 N 种属性来支撑我们业务的各种应用,但是我们只要声明成这样,基本上就已经可以满足我们的大多数应用了。好了,你可能觉得还有什么,但是,真没了,Spring 的入门示例到这里已经结束,我们可以写测试代码测试了。
@SuppressWarnings("deprecation")
public class BeanFactoryTest {
@Test
public void testSimpleLoad(){
BeanFactory bf = new XmlBeanFactory(new ClassPathResource ( "beanFactoryTest.xml"));
MyTestBean bean=(MyTestBean) bf.getBean("myTestBean");
assertEquals("testStr",bean.getTestStr());
}
}
相信聪明的读者会很快看到我们期望的结果:在 Eclipse 中显示了 Green Bar。
直接使用 BeanFactory 作为容器对于 Spring 的使用来说并不多见,甚至是甚少使用,因为在企业级的应用中大多数都会使用的是 ApplicationContext(后续章节我们会介绍它们之间的区别),这里只是用于测试,让读者更快更好地分析 Spring 的内部原理。
OK,我们又复习了一遍 Spring,你是不是会很不屑呢?这样的小例子没任何挑战性。嗯,确实,这样的使用是过于简单了,但是本书的目的并不是介绍如何使用 Spring,而是帮助您更好地了解 Spring 的内部原理。读者可以自己先想想,上面的一句简单代码都执行了什么样的逻辑呢?这样一句简单代码其实在 Spring 中执行了太多太多的逻辑,即使笔者用半本书的文字也只能介绍它的大致原理。那么就让我们快速的进入分析状态吧。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论