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擴展而來.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM