Spring 基础入门

一.Spring主要概念理解

1 IOC(控制反转):不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。  容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。

2.Bean: 由Spring IoC容器所管理的对象被称之为bean。bean就是由Spring容器初始化、装配及被管理的对象。  bean定义以及bean相互间的依赖关系将通过配置元数据来描述。

3.Spring IoC容器:org.springframework.beans包是Spring IoC容器的基础。  org.springframework.beans.factory.BeanFactory接口是Spring IoC容器的实际代表者。  IoC容器负责容纳此前所描述的bean,并对bean进行管理。

4.BeanFactory: BeanFactory是IoC容器的核心接口。是工厂设计模式的实现。bean 工厂的概念是 Spring 作为 IOC 容器的基础。   它的职责包括:实例化、检索、配置应用程序中的对象及管理对象之间的关系。      BeanFactory 支持两个对象模型。    单态模型:提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。    原型模型:确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。

5.ApplicationContext: org.springframework.context.ApplicationContext由BeanFactory接口派生扩展而来,因而提供了 BeanFactory所有的功能。   在构建J2EE应用时,使用ApplicationContext将是更好的选择。      context包还提供了以下的功能:    MessageSource, 提供国际化的消息访问。    资源访问,如URL和文件。    事件传播,实现了ApplicationListener接口的bean。    载入多个(有继承关系)上下文 。

6.配置元数据: Spring IoC容器将读取配置元数据;并通过它对应用中各个对象进行实例化、配置以及组装。      基于XML的元数据是最常用到的配置元数据格式。然而,它并不是唯一的描述格式。Spring IoC容器在这一点上是完全开放的。   当使用基于XML的配置元数据时,将在顶层的<beans/>元素中配置一个或多个<bean/>元素。      bean定义与应用程序中实际使用的对象一一对应。通常情况下bean的定义包括: 服务层对象、数据访问层对象(DAO)、类似Struts Action的表示层对象、Hibernate SessionFactory对象、JMS Queue对象等等。

7.实例化IoC容器(基于XML的元数据):通过ClassPathXmlApplicationContext类加载一个或多个XML文档来实例化BeanFactory接口的实现扩展 ApplicationContext类。  要从 BeanFactory 检索 bean,只需调用 getBean() 方法,传入将要检索的 bean 的名称即可。

 

Spring入门简单实例:

1.创建项目(web项目和普通java项目都可以),然后导入spring 开发包。

2.创建三个类代码如下:

 

代码1: 普通java功能类:

public class Speak
{

  public void sayHello()
  {
   System.out.println("hello");
  }
}

 

代码2:Spring bean类:

public class Greeting {
 public Speak s;
 
 public Greeting()
 {}
 
 public Greeting(Speak s)
 {
  this.s=s;
 }
 public void greet()
 {
  s.sayHello();
 }
 public Speak getS() {
  return s;
 }
 public void setS(Speak s) {
  this.s = s;
 }
}

 

代码3:main方法
public class Test {
 public static void main(String[] args)
 {
  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
  Greeting greet=(Greeting)context.getBean("Greeting");
  greet.greet();
 }

}

代码4:applicationContext.xml 文件配置

<?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-2.5.xsd">
 <bean id="Speak" class="bean.Speak"></bean>
 <bean id="Greeting" class="bean.Greeting">
 <property name="s">
 <ref bean="Speak" />
 </property>
 </bean>
</beans>

 

 


 


 

 

 

posted @ 2010-03-26 11:15  狗狗听话  阅读(530)  评论(0编辑  收藏  举报