zoukankan      html  css  js  c++  java
  • Spring的简单demo

    ----------------------------------------

    开发一个Spring的简单Demo,具体的步骤如下:

    1.构造一个maven项目

    2.在maven项目的pom.xml文件中添加spring的依赖包

    3.开发一个接口Api 和两个实现类ApiOne,ApiTwo

    4.新增Spring的配置文件applicationContext.xml

    5.编写测试类Client

    下面开始具体每个步骤的描述:

    步骤1:构造一个maven项目 springTest

    步骤2:在maven项目的pom.xml文件中添加spring的依赖包

     1     <dependencies>
     2         <!-- spring相关jar包 -->
     3         <dependency>
     4             <groupId>org.springframework</groupId>
     5             <artifactId>spring-context</artifactId>
     6             <version>4.0.0.RELEASE</version>
     7         </dependency>
     8 
     9         <dependency>
    10             <groupId>org.springframework</groupId>
    11             <artifactId>spring-context-support</artifactId>
    12             <version>4.0.0.RELEASE</version>
    13         </dependency>
    14 
    15         <dependency>
    16             <groupId>org.springframework</groupId>
    17             <artifactId>spring-jdbc</artifactId>
    18             <version>4.0.0.RELEASE</version>
    19         </dependency>
    20 
    21         <dependency>
    22             <groupId>org.springframework</groupId>
    23             <artifactId>spring-orm</artifactId>
    24             <version>4.0.0.RELEASE</version>
    25         </dependency>
    26 
    27         <dependency>
    28             <groupId>org.springframework</groupId>
    29             <artifactId>spring-tx</artifactId>
    30             <version>4.0.0.RELEASE</version>
    31         </dependency>
    32         <dependency>
    33             <groupId>junit</groupId>
    34             <artifactId>junit</artifactId>
    35             <version>3.8.1</version>
    36             <scope>test</scope>
    37         </dependency>
    38     </dependencies>

    步骤3:开发一个接口Api 和两个实现类ApiOne,ApiTwo

    接口Api:

    1 package com.springTest;
    2 
    3 public interface Api {
    4     public String test(int num);
    5 }

    实现类ApiOne:

    1 package com.springTest;
    2 
    3 public class ApiOne implements Api {
    4 
    5     public String test(int num) {
    6         System.out.println("ApiOne test method, num = " + num);
    7         return num +"xixixi";
    8     }
    9 }

    实现类ApiTwo:

    1 package com.springTest;
    2 
    3 public class ApiTwo implements Api {
    4 
    5     public String test(int num) {
    6         System.out.println("ApiTwo test method, num = " + num);
    7         return num +"hahaha";
    8     }
    9 }

    步骤4:新增Spring的配置文件applicationContext.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4         xmlns:context="http://www.springframework.org/schema/context"
     5         xmlns:aop="http://www.springframework.org/schema/aop"
     6         xmlns:tx="http://www.springframework.org/schema/tx"
     7         xsi:schemaLocation="
     8         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     9         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    10         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    11         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    12         
    13         <bean name="api" class="com.springTest.ApiTwo"></bean>
    14     
    15  </beans>

    步骤5:编写测试类Client

     1 package com.springTest;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 public class Client {
     7     public static void main(String[] args) {
     8         ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
     9         Api api = (ApiTwo)context.getBean("api");
    10         String result = api.test(123);
    11         System.out.println("result = " + result);
    12     }
    13 }

      在ApplicationContext.xml配置文件中 <bean name="api" class="com.springTest.ApiTwo"></bean> 运行测试代码Client时,使用的是ApiTwo这个实现类,如果要更换实现类的话,只需要把配置bean替换成:<bean name="api" class="com.springTest.ApiOne"></bean>就可以了。

      从上面的整个代码中可以看出,并没有出现Spring的任何组件,客户代码仅仅面向接口编程,而无需知道实现类的具体名称。同时,可以很简单的通过修改配置文件来切换具体的底层实现类。

    Bean和容器

    什么是Spring中的Bean

      在Spring中,那些组成应用的主体及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。

    Spring的IoC容器

      org.springframework.beans.factory.BeanFactory是Spring IoC容器的实际代表者,IoC容器负责容纳bean,并对bean进行管理。

      Spring IoC容器将读取配置元数据;并通过它对应用中各个对象进行实例化、配置以及组装。通常情况下我们使用简单的XML来作为配置元数据的描述格式。在XML配置元数据中我们可以对那些我们希望通过Spring IoC容器管理的bean进行定义。

    BeanFactory和ApplicationContext

      IoC/DI是Spring最核心的功能之一,Spring框架所提供的众多功能之所以能成为一个整体正是建立在IoC的基础之上,简而言之,BeanFactory提供了配置框架及基本功能,而ApplicationContext则增加了更多企业核心内容的功能。ApplicationContext完全由BeanFactory扩展而来.

  • 相关阅读:
    Day-10: 错误、调试和测试
    Day-9: 面对对象高级编程
    json文件解析
    sqlite3入门之sqlite3_get_table,sqlite3_free_table
    sqlite3入门之sqlite3_open,sqlite3_exec,slite3_close
    字符集编码与字符大小
    让ubuntu下的eclipse支持GBK编码
    使用virtualbox安装unbuntu开启共享文件夹时遇到的权限问题
    QT--信号与槽
    QT--初识
  • 原文地址:https://www.cnblogs.com/xinhuaxuan/p/6147882.html
Copyright © 2011-2022 走看看