中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring裝配Bean---使用xml配置

發布時間:2020-09-18 04:37:09 來源:網絡 閱讀:649 作者:sshpp 欄目:網絡安全

聲明Bean

Spring配置文件的根元素是<beans>.

在<beans>元素內,你可以放所有的Spring配置信息,包括<bean>元素的聲明.

除了Beans命名空間,Spring的核心框架總共自帶了10個命名空間配置:

 命名空間用途
 aop    為聲明切面以及將@AspectJ注解的類代理為Spring切面提供了配置元素
 beans    支持聲明Bean和裝配Bean,是Spring最核心也是最原始的命名空間
 context為配置Spring應用上下文提供了配置元素,包括自動檢測和裝配Bean,注入非Spring直接管理的對象 
jee 提供了與Java EE API的集成,例如JNDI和EJB
 jms為聲明消息驅動的POJO提供了配置元素    
lang 支持配置由Groovy、JRuby、BeanShell等腳本實現的Bean    
 mvc啟用SpringMVC的能力,例如面向注解的控制器、視圖控制器和攔截器    
oxm 支持Spring的對象到xml配置的映射    
tx 提供聲明式事物配置    
 util提供各種各樣的工具類元素,包括把集合配置為Bean,支持屬性占位符元素    

 


 

 

 

 

 

 

 

 

 

 

xml結構如下:

Spring裝配Bean---使用xml配置

<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:p="http://www.springframework.org/schema/p"
       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-4.0.xsd">

     <bean id="" class="">......</bean>
     <bean id="" class="">......</bean></beans>

Spring裝配Bean---使用xml配置

基于構造函數注入

使用<constructor-arg>元素。如果不配置<constructor-arg>元素,那么Spring將使用默認的構造函數。

Spring裝配Bean---使用xml配置

<!-- 詩 --><bean id="poem" class="com.wjx.betalot.impl.Sonnet">
     <constructor-arg value="Sonnet poem"></constructor-arg></bean><!-- 詩人 --><bean id="poet" class="com.wjx.betalot.impl.Joe">
     <constructor-arg ref="poem"></constructor-arg></bean>

Spring裝配Bean---使用xml配置

通過工廠方法創建Bean

<bean>元素有一個factory-method屬性,允許我們調用一個指定的靜態方法,從而代替構造函數來創建一個類的實例

<bean id="stage"  class="com.wjx.betalot.impl.Stage" factory-method="getInstance" />

配置Bean的作用域

<bean>元素有一個scope屬性,允許我們指定Bean的作用域,Bean的作用域主要有一下幾種,默作用域為單例singleton

作用域定義
singleton在每一個Spring容器中,一個Bean定義只有一個對象實例(默認)
prototype允許Bean的定義可以被實例化任意次(每次調用都創建一個實例)
request在一次HTTP請求中,每個Bean定義對應一個實例。該作用域僅在基于Web的Spring上下文(例如SpringMVC)中才有效
session在一個HTTP Session中,每個Bean定義對應一個實例。該作用域僅在基于Web的Spring上下文(例如SpringMVC)中才有效
global-session在一個全局HTTP Session中,每個Bean定義對應一個實例。該作用域僅在Portlet上下文中才有效

 

 

 

 

 

 

 

 

<bean id="poem" class="com.wjx.betalot.impl.Sonnet" scope="prototype">

配置Bean的初始化和銷毀方法

Spring提供了Bean生命周期的鉤子方法。

為Bean定義初始化和銷毀操作,只需要使用init-method和destroy-method參數來配置<bean>元素。init-method屬性指定了在初始化Bean時要調用的方法;destroy-method屬性指定了Bean從容器移除之前要調用的方法。

<!-- 觀眾看表演,表演開始前鼓掌歡迎,表演結束鼓掌 -->
<
bean id="auditorium" class="com.wjx.betalot.impl.Auditorium" init-method="applause" destroy-method="applause"/>

使用<beans>元素的default-init-method和default-destroy-method屬性配置所有<bean>共同默認的初始化方法和銷毀方法

Spring裝配Bean---使用xml配置

<?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"    
       default-init-method="applause"   
       default-destroy-method="applause"> ...    
</beans>

Spring裝配Bean---使用xml配置

注入Bean的屬性

使用<property>元素。value填充基礎類型值,ref填充<bean>引用

Spring裝配Bean---使用xml配置

<!-- 詩 --><bean id="poem" class="com.wjx.betalot.impl.Sonnet">
     <property name="lines" value="Sonnet poem"></property></bean><!-- 詩人 --><bean id="poet" class="com.wjx.betalot.impl.Joe">
     <property name="poem" ref="poem"></property ></bean>

Spring裝配Bean---使用xml配置

裝配集合屬性,Spring提供了4種類型的集合配置屬性 <list> <set> <map> <props>

Spring裝配Bean---使用xml配置

<bean id="poeticJuggler" class="com.wjx.betalot.performer.impl.PoeticJuggler">
    <property name="poemsMap">
        <map>
            <entry key="POEM1" value-ref="poem1"/>
            <entry key="POEM2" value-ref="poem2"/>
            <entry key="POEM3" value-ref="poem3"/>
        </map>
    </property>
    <property name="poemProperties">
        <props>
            <prop key="poem3">POEM3</prop>
            <prop key="poem2">POEM2</prop>
            <prop key="poem1">POEM1</prop>
        </props>
    </property>
    <property name="poemList">
        <list>
            <ref bean="poem1"/>
            <ref bean="poem2"/>
            <ref bean="poem3"/>
        </list>
    </property>
    <property name="poemSet">
        <set>
            <ref bean="poem1"/>
            <ref bean="poem2"/>
            <ref bean="poem3"/>
        </set>
    </property></bean>

Spring裝配Bean---使用xml配置

裝配空值

<property name="someNonNullProperty"><null/></property>

除了<property>元素配置屬性外,使用spring的命名空間p也可以裝配屬性,當然你得在<beans>元素中先引入命名空間p

Spring裝配Bean---使用xml配置

<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:p="http://www.springframework.org/schema/p"
       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-4.0.xsd">

     <bean id="poem" class="com.wjx.betalot.impl.Sonnet" p:line="Sonnet"/>
     <bean id="poet" class="com.wjx.betalot.impl.Joe" p:poem-ref="poem"/></beans>

Spring裝配Bean---使用xml配置


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

喀什市| 井陉县| 北票市| 彭州市| 清水河县| 昌江| 舞阳县| 中山市| 尉氏县| 贡嘎县| 布拖县| 聂拉木县| 峨眉山市| 尼勒克县| 德格县| 宝山区| 贵南县| 宜昌市| 开远市| 平阳县| 上犹县| 大冶市| 嘉峪关市| 鲁山县| 祁东县| 四会市| 海口市| 板桥市| 嵊泗县| 西丰县| 左权县| 油尖旺区| 延边| 咸丰县| 沧源| 沐川县| 开封市| 临泉县| 都兰县| 齐齐哈尔市| 拜城县|