spring的簡介與初步搭建應用

一、spring的簡介

  spring是什麼東西就不介紹了,自己去找谷老師。

二、spring的下載

  最新的穩定spring3.1.0版本,下載地址:http://www.springsource.org/download/,最好下載“with docs”的版本,其中包括了spring API及幫助文檔,這些文檔對學習spring是很有用的,我的第一個簡單示例就是參照文檔搭建起來的。

三、簡單的示例應用(使用xml的格式定義bean)

下圖是我的搭建圖,readMe.txt是本人的自己添加的說明文檔,沒有這個文檔沒關係。

                    

 

1.       接口及實現類的編寫

接口:

package com.kane.csdn.inter;

public interface TestInterface {
	public void showMessage();
}


實現類ImpleOne:

package com.kane.csdn.impl;

import com.kane.csdn.inter.TestInterface;

public class ImpleOne implements TestInterface {

	@Override
	public void showMessage() {
		System.out.println("Implement by One!");
	}

}

 

實現類ImpleTwo:

package com.kane.csdn.impl;

import com.kane.csdn.inter.TestInterface;

public class ImpleTwo implements TestInterface {

	@Override
	public void showMessage() {
		System.out.println("Implement by Two!");
	}

}

 

2.       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-3.0.xsd">
        
   <bean id="test" class="com.kane.csdn.impl.ImpleOne"/>

   <!--
      <bean id="test" class="com.kane.csdn.impl.ImpleTwo"/>
   -->   
   <!-- more bean definitions go here -->

</beans>

 

3.       接下來就可以編寫一個主方法測試了

package com.kane.csdn.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.kane.csdn.inter.TestInterface;

public class TestManage {

	public static void main(String[] args) {
		// 簡單地實現IOC
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
				"applicationContext.xml");

		TestInterface test = (TestInterface) applicationContext.getBean("test");

		test.showMessage();
	}

}


運行後,可以看到結果爲打印輸出“Implement by One!”。如果我將配置文件中的第一個ImpleOne的bean註釋掉,使用第二個ImpleTwo的bean,大家可以運行看到結果輸出爲“Implement by Two!”。正如大家看到的,這就是spring的作用,當你需要修改實現方式的時候,你不必修改代碼,你只需要修改配置文件,使用你所需要的實現,即可實現目標,這難道不是很神奇嘛!

 

四、使用Annotation

  Annotation,顧名思義,就是使用注視來代替你的XMLbean配置。下面我們將上面的示例進行改造,不在XML中定義bean,而是使用annotation

1.       修改你的配置文件,引入包自動掃描

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
               
     <context:component-scan base-package="com.kane.csdn.impl"/>

</beans>

對比上面,你會發現它不再配置你的bean,而是加入了一句<context:component-scan base-package="com.kane.csdn.impl"/>,它會自動將你com.kane.csdn.impl包下面的使用了註解annotation的類初始化爲bean.

2.       修改你的定義實現類,爲其加上註釋,以便spring識別

package com.kane.csdn.impl;

import org.springframework.stereotype.Service;

import com.kane.csdn.inter.TestInterface;

@Service("test")
public class ImpleTwo implements TestInterface {

	@Override
	public void showMessage() {
		System.out.println("Implement by Two!");
	}

}

使用了@Service註解將該類定義爲id="test"的bean.

 

3.       運行測試類,你發現它同樣輸出成功。

這就是annotation,只要將你的實現bean使用註釋定義後,就可替代原來xml,使開發更加快速。當然並不是說所有的時候使用annotationxml都更加方便有效,當你的項目越來越大的時候,你會發現你的XML文件就會很龐大,這是如果你使用annotation就會減少很多的配置。如果你是用了annotation,假如你要去替換你的實現bean,你就要去修改類的註解,就時候你就要考慮清楚了,因爲你要去修改你的代碼,要確保這樣不會影響其它。這個就好像在項目中使不使用框架一樣,具體的情況還得具體對待。

 

五、總結

  通過上面的例子講解了spring中最核心的IOC注入,就這麼簡單。Spring中還有很多東東,比如:AOPspring MVC等內容,這就要靠你自己去學習了。

推薦學習的時候多看看官方的文檔或是API,比如在spring-framework-3.1.0.RELEASE的下載文件中有很多文檔:html版本的,pdf格式的,裏面有很多講解及簡單的學習示例是很不錯的,我在學的時候就是這樣看文檔學的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章