Java項目教學(xué)第一學(xué)期SSM框架講義1Spring的基本應(yīng)用_第1頁
Java項目教學(xué)第一學(xué)期SSM框架講義1Spring的基本應(yīng)用_第2頁
Java項目教學(xué)第一學(xué)期SSM框架講義1Spring的基本應(yīng)用_第3頁
Java項目教學(xué)第一學(xué)期SSM框架講義1Spring的基本應(yīng)用_第4頁
Java項目教學(xué)第一學(xué)期SSM框架講義1Spring的基本應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Spring+SpringMVC+MyBatis講義1Spring的基本應(yīng)用1 Spring的基本應(yīng)用1.1 Spring概述1.1.1 什么是Spring?1) Spring是開源的輕量級框架2) Spring核心主要兩部分:Aop:面向切面編程,擴展功能不是修改源代碼實現(xiàn)IoC:控制反轉(zhuǎn),比如有一個類,在類里面有方法(不是靜態(tài)的方法),調(diào)用類里面的方法,需要用new創(chuàng)建類的對象,再使用對象調(diào)用方法??刂品崔D(zhuǎn)把對象的創(chuàng)建不是通過new方式實現(xiàn),而是交給Spring配置,創(chuàng)建類對象。3)Spring是一站式框架Spring在JavaEE三層結(jié)構(gòu)中,每一層都提供不同的解決技術(shù)Web層:Sprin

2、gMVCService層:Spring的IOCdao層:spring的JDBCTemplate、與ORM框架的整合4)spring版本Spring4.x1.1.2 Spring的目錄結(jié)構(gòu)docs文件夾中包含API文檔和開發(fā)規(guī)范libs文件夾中包含JAR包和源碼Schema文件夾中包含開發(fā)所需要的schema(約束)文件核心jar包:spring-core-4.3.6.RELEASE.jarspring-beans-4.3.6.RELEASE.jarspring-context-4.3.6.RELEASE.jarspring-expression-4.3.6.RELEASE.jar第三方依賴包:

3、commons.logging的JAR包1.2 spring的核心容器1.2.1 BeanFactory基礎(chǔ)類型的IOC容器,主要負(fù)責(zé)初始化各種Bean,并調(diào)用他們的生命周期方法。創(chuàng)建BeanFactory實例時,需要提供Spring所管理容器的詳細(xì)配置信息,這些信息通常采用XML文件形式來管理,如:applicationContext.xml1.2.2 ApplicationContextBeanFactory的子接口,不僅包含了BeanFactory的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的支持。通過ClassPathXmlApplicationContext創(chuàng)建 Appli

4、cationContext applicationContext = new ClassPathXmlApplicationContext(String configLocation);configLocation參數(shù)用于指定spring配置文件的名稱和位置。如果其值為“applicationContext.xml”,則spring會去類路徑(classPath)中查找名稱為applicationContext.xml的位置文件在web項目中,ApplicationContext容器的實例化工作會交給web服務(wù)器來完成,通常會使用基于ContextLoaderListener實現(xiàn)的方式,只需要

5、在web.xml中添加如下代碼,后面講3大框架整合時將采用此種方式: <!- 配置加載Spring配置文件的監(jiān)聽器-><context-param><param-name>contextConfigLocation</param-name> <!- 將加載spring目錄下的applicationContext.xml文件-><param-value>classpath:spring/applicationContext.xml</param-value></context-param><li

6、stener><listener-class> org.springframework.web.context.ContextLoaderListener</listener-class></listener>創(chuàng)建spring容器后,就可以獲取spring容器中的Bean,方法有2種:1) Object getBean(String name);根據(jù)容器中Bean的id或name來獲取指定的Bean,獲取之后需要進行強制類型轉(zhuǎn)換。2) <T> T getBean(Class<T> requiredType);根據(jù)類的類型來獲取B

7、ean的實例。由于此方法為泛型方法,因此在獲取Bean之后不需要進行強制類型轉(zhuǎn)換。1.3 spring入門程序步驟:第一步:導(dǎo)入jar包,用spring最基本的功能時,只需要最基本的核心類即可第二步:創(chuàng)建類,在類里面創(chuàng)建方法/*在src目錄下,創(chuàng)建一個com.itheima.ioc包,并在包中創(chuàng)建接口UserDao,然后在接口中定義一個say()方法。*/package com.itheima.ioc;public interface UserDao public void say();/*創(chuàng)建UserDao接口的實現(xiàn)類UserDaoImpl,該類需要實現(xiàn)接口中的say()方法,并在方法中編寫

8、一條輸出語句。*/package com.itheima.ioc;public class UserDaoImpl implements UserDao public void say() System.out.println("userDao say hello World !"); 第三步:創(chuàng)建spring配置文件,配置創(chuàng)建類 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="/schema

9、/beans" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-4.3.xsd"> <bean id="userDao" class="com.itheima.ioc.UserDaoImpl" />

10、; </beans>配置文件中的約束信息不需要自己動手去編寫,在spring的幫助文檔中可以找到:打開spring解壓文件夾中的docs目錄,在spring-framework-reference文件夾下打開html文件夾,找到index.html文件打開,在Overview of Spring Framework下的7.2.1小節(jié)Configuration metadata中即可找到。在復(fù)制后的xsd信息中加入spring的版本號信息即可,如:/schema/beans/spring-beans-4.3.xsd第四步:測試

11、類的創(chuàng)建創(chuàng)建測試類TestIoC,并在類中編寫main()方法。在main()方法中,需要初始化Spring容器,并加載配置文件,然后通過Spring容器獲取userDao實例(即Java對象),最后調(diào)用實例中的say()方法。 package com.itheima.ioc; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestIoC public st

12、atic void main(String args) ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); UserDao userDao = (UserDao) applicationContext.getBean("userDao"); userDao.say(); 1.4 依賴注入1.4.1 依賴注入的含義全稱:Dependency Injection,它與控制反轉(zhuǎn)(IoC)的含義相同,只不過這兩個

13、稱呼是從兩個角度描述的同一個概念。IoC:在使用Spring框架之后,對象的實例不再由調(diào)用者來創(chuàng)建,而是由Spring容器來創(chuàng)建,Spring容器會負(fù)責(zé)控制程序之間的關(guān)系,而不是由調(diào)用者的程序代碼直接控制。這樣,控制權(quán)由應(yīng)用代碼轉(zhuǎn)移到了Spring容器,控制權(quán)發(fā)生了反轉(zhuǎn),這就是控制反轉(zhuǎn)。DI:從Spring容器的角度來看,Spring容器負(fù)責(zé)將被依賴對象賦值給調(diào)用者的成員變量,這相當(dāng)于為調(diào)用者注入了它依賴的實例,這就是Spring的依賴注入。1.4.2 使用setter方法實現(xiàn)依賴注入步驟:1)在com.itheima.ioc包中,創(chuàng)建接口UserService,在接口中編寫一個say()方法

14、。 package com.itheima.ioc; public interface UserService public void say(); 2)在com.itheima.ioc包中,創(chuàng)建UserService接口的實現(xiàn)類UserServiceImpl,在類中聲明userDao屬性,并添加屬性的setter方法。 package com.itheima.ioc; public class UserServiceImpl implements UserService private UserDao userDao; public void setUserDao(UserDao userD

15、ao) this.userDao = userDao; public void say() this.userDao.say(); System.out.println("userService say hello World !");3)在配置文件applicationContext.xml中,創(chuàng)建一個id為userService的Bean,該Bean用于實例化UserServiceImpl類的信息,并將userDao的實例注入到userService中。 <bean id="userService" class="com.itheim

16、a.ioc.UserServiceImpl"> <property name="userDao" ref="userDao" /> </bean>4)在com.itheima.ioc包中,創(chuàng)建測試類TestDI,來對程序進行測試。package com.itheima.ioc;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestDI public

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論