国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

SSH學習——Spring基礎

2019-11-15 00:34:51
字體:
供稿:網(wǎng)友
SSH學習——SPRing基礎1.理解什么是Spring框架?

 spring是J2EE應用程序框架,是輕量級的IOC和AOP的容器框架,主要是針對javaBean的生命周期進行管理的輕量級容器,可以單獨使用,也可以和Struts框架,Hibernate框架等組合使用。

2.Spring框架的優(yōu)缺點:

  優(yōu)點:

    輕量級的容器框架沒有侵入性

    使用IoC容器更加容易組合對象直接間關系,面向接口編程,降低耦合

    Aop可以更加容易的進行功能擴展,遵循ocp開發(fā)原則

    創(chuàng)建對象默認是單例的,不需要再使用單例模式進行處理

  缺陷:業(yè)務功能依賴spring特有的功能,依賴與spring環(huán)境

3.Spring六大模塊:

關鍵術語:  

  IOC (InversionOfControl)控制反轉(zhuǎn) IOC容器 = BeanFactory + bean.xml

  負責對象創(chuàng)建反轉(zhuǎn),在spring中BeanFacotory是IOC容器的核心接口,負責實例化,定位,配置應用程序中的對象及建立這些對象間的依賴。XmlBeanFacotory實現(xiàn)BeanFactory接口,通過獲取xml配置文件數(shù)據(jù),組成應用對象及對象間的依賴關系。

  DIdependencyinjection依賴注入(處理對象的依賴關系!如:創(chuàng)建Action后需要處理Action依賴Service)

     spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構(gòu)造方法注入。  

  Aopaspectobjectprogram面向切面編程!

     AOP就是縱向的編程,如業(yè)務1和業(yè)務2都需要一個共同的操作,與其往每個業(yè)務中都添加同樣的代碼,不如寫一遍代碼,讓兩個業(yè)務共同使用這段代碼。

    spring中面向切面變成的實現(xiàn)有兩種方式,一種是動態(tài)代理,一種是CGLIB,動態(tài)代理必須要提供接口,而CGLIB實現(xiàn)是有繼承。

4.Spring開發(fā)步驟:

  1.下載Spring源碼并引入Jar文件:(3.0之后,spring源碼中只有spring的功能,如果spring有依賴其他包,需要單獨下載)    

    commons-logging-1.1.3.jar 【需要單獨下載, spring 依賴的日志包】    spring-beans-3.2.5.RELEASE.jar【3.2 源碼:Spring bean節(jié)點支持】    spring-context-3.2.5.RELEASE.jar【3.2 源碼:上下文支持】    spring-core-3.2.5.RELEASE.jar【3.2 源碼:核心功能】    spring-expression-3.2.5.RELEASE.jar 【3.2 源碼:Spring 表達式】

  2.配置application.xml/bean.xml (名字可以取其中一個)

    將需要創(chuàng)建的對象都在Spring容器中進行配置,對應的名稱空間和約束可以去源碼中拷貝!

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:p="http://www.springframework.org/schema/p"      xsi:schemaLocation="http://www.springframework.org/schema/beans5      http://www.springframework.org/schema/beans/spring-beans.xsd">6      7      <!-- 創(chuàng)建一個User對象 -->8      <bean id="user" class="cn.itcast.b_ioc.User"></bean>9 </beans>    

  3.創(chuàng)建IOC容器并通過IOC容器創(chuàng)建對象!

    1.通過無參或者有參構(gòu)造函數(shù)創(chuàng)建對象;

    2.使用工廠類創(chuàng)建對象;

5.詳解Spring創(chuàng)建Bean:
1  <bean id="user"  class="cn.itcast.b_ioc_bean.User" scope="singleton" lazy-init="true" init-method="init" destroy-method="destroy"></bean>

5.1.通過scope指定bean是單例還是多例:

  scope="singleton"單例,啟動時候創(chuàng)建所有單例的bean

  scope="prototype" 多例, 啟動時候不會創(chuàng)建,【每次從容器獲取實例時候,都會創(chuàng)建一個新的bean】

  當創(chuàng)建Dao/Service時候,可以指定singleton, 也可以不指定,默認就是單例!創(chuàng)建Action時候必須指定!

5.2. 延遲初始化   lazy-init="false" 不延遲初始化   lazy-init="true" 表示:在初始化容器時候,沒有創(chuàng)建單例的bean;   在第一次從容器中獲取時候創(chuàng)建實例;如果再次獲取,獲取是上次創(chuàng)建的單例的對象5.3. 初始化與銷毀方法   init-method=" "   初始化方法, 創(chuàng)建完對象之后執(zhí)行初始化方法; 如果是單例,執(zhí)行一次; 多例就執(zhí)行多次  destroy-method=" "   當調(diào)用ClassPathXmlApplicationContext對象的destroy方法的時候執(zhí)行!

6.Bean的生命周期:

  6.1.先創(chuàng)建IOC容器對象  6.2.每次從容器獲取bean,才創(chuàng)建對象  6.3.創(chuàng)建完對象后,執(zhí)行初始化方法 (每次創(chuàng)建對象后執(zhí)行)  6.4.對象創(chuàng)建完畢  6.5.容器銷毀,執(zhí)行destroy方法


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥棱县| 南京市| 宁安市| 鹤庆县| 留坝县| 乌海市| 新竹市| 绥德县| 武山县| 泸西县| 阳山县| 淮阳县| 湟源县| 马边| 从江县| 自贡市| 长寿区| 徐汇区| 沾益县| 临夏县| 十堰市| 舟山市| 栾城县| 荃湾区| 体育| 花莲县| 罗江县| 叶城县| 桂东县| 崇州市| 香港 | 阿拉善右旗| 石渠县| 平江县| 阳泉市| 象山县| 呼玛县| 周口市| 方山县| 平谷区| 固阳县|