JavaWeb筆記010 Spring入門,IOC入門,Bean配置文件

前面1-9同系列的博文介紹了一些基本知識,是後面文章的基礎。
後面所有的文章都只是記錄一些使用方法和要點,依賴和pom的配置後面會有文章專門整理一下全面的配置。

入門

1. 什麼是IOC的功能?
	* IoC		-- Inverse of Control,控制反轉,將對象的創建權反轉給Spring!!
	* 使用IOC可以解決的程序耦合性高的問題!!
2.包結構和類
	* com.demo1
    * UserService			-- 接口
    * UserServiceImpl		-- 具體的實現類
3. 想把UserServiceImpl實現類的創建交給Spring框架來管理,需要創建Spring框架的配置文件,完成配置
	* 在src目錄下創建applicationContext.xml的配置文件,名稱是可以任意的,但是一般都會使用默認名稱!!
	
	* 引入spring的約束,需要先找到具體的約束頭信息!!
		* spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\xsd-config.html
		* 具體的約束如下:		
			<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="userService" class="com.itcast.demo1.UserServiceImpl"/>
			</beans>	
4. 編寫測試程序,採用Spring框架的工廠方式來獲取到UserService接口的具體實現類!!
	public void demo2(){
		// 使用Spring的工廠:
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		// 通過工廠獲得類:
		UserService userService = (UserService) applicationContext.getBean("userService");
		userService.sayHello();
	}

實際使用Spring開發web項目時不會這麼使用。但是如果是開發可運行jar包時,使用Spring就會使用這種方式。

Spring bean標籤配置文件

1. id屬性和name屬性的區別
	* id		-- Bean起個名字,在約束中採用ID的約束,唯一
		* 取值要求:必須以字母開始,可以使用字母、數字、連字符、下劃線、句話、冒號	id:不能出現特殊字符
	
	* name		-- Bean起個名字,沒有采用ID的約束(不常用)
		* 取值要求:name:出現特殊字符.如果<bean>沒有id的話 , name可以當做id使用
		* Spring框架在整合Struts1的框架的時候,Struts1的框架的訪問路徑是以/開頭的,例如:/bookAction

2. class屬性			-- Bean對象的全路徑
3. scope屬性			-- scope屬性代表Bean的作用範圍
	* singleton			-- 單例(默認值)
	* prototype			-- 多例,在Spring框架整合Struts2框架的時候,Action類也需要交給Spring做管理,配置把Action類配置成多例!!
	* request			-- 應用在Web項目中,每次HTTP請求都會創建一個新的Bean
	* session			-- 應用在Web項目中,同一個HTTP Session 共享一個Bean
	* globalsession		-- 應用在Web項目中,多服務器間的session

4. Bean對象的創建和銷燬的兩個屬性配置(瞭解)
	* 說明:Spring初始化bean或銷燬bean時,有時需要作一些處理工作,因此spring可以在創建和拆卸bean的時候調用bean的兩個生命週期方法
	* init-method		-- 當bean被載入到容器的時候調用init-method屬性指定的方法
	* destroy-method	-- 當bean從容器中刪除的時候調用destroy-method屬性指定的方法
		* 想查看destroy-method的效果,有如下條件
			* scope= singleton有效
			* web容器中會自動調用,但是main函數或測試用例需要手動調用(需要使用ClassPathXmlApplicationContext的close()方法)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章