国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
快速上手Spring--7. ref的用法
這篇文章來談?wù)?a >《Spring Framework 開發(fā)參考手冊》的3.3.2小節(jié)中的ref的用法。
 
  ref元素是用在property中,來設(shè)置需要引用的容器管理的其它Bean。
 
  它的用法:<ref bean|local|parent="someBean">,這里主要分析一下這三個參數(shù)的作用。
 
  這次先看實(shí)例,再進(jìn)行講解。
 
· 先建立一個包:javamxj.spring.basic.ref ,然后把以下5個文件放在這個包下。
HelloBean.java
package javamxj.spring.basic.ref;

public class HelloBean {
    private String hello;

    public String getHello() {
        return hello;
    }

    public void setHello(String hello) {
        this.hello = hello;
    }
}
 
 
HelloDate.java
package javamxj.spring.basic.ref;

import java.util.Date;

public class HelloDate {
    private Date date;

    private HelloBean hb;

    public void setDate(Date date) {
        this.date = date;
    }

    public void setHb(HelloBean hb) {
        this.hb = hb;
    }

    public void sayHello() {
        System.out.println(hb.getHello() + "  " + date.toLocaleString());
    }

}
 

beans.xml

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   
    <bean id="helloBean" class="javamxj.spring.basic.ref.HelloBean">
        <property name="hello" value="Hello! Child Bean." />
    </bean>
   
    <bean id="dateBean" name="#date" class="java.util.Date"/>
   
    <bean id="hd1" class="javamxj.spring.basic.ref.HelloDate">
        <property name="hb">
            <ref bean="helloBeanParent"/>
        </property>
        <property name="date">
            <ref bean="#date"/>
            <!--<ref bean="dateBean"/>-->
        </property>
    </bean>
   
    <bean id="hd2" class="javamxj.spring.basic.ref.HelloDate">
        <property name="hb">
            <ref local="helloBean"/>
        </property>
        <property name="date">
            <ref local="dateBean"/>
        </property>
    </bean>
   
    <bean id="hd3" class="javamxj.spring.basic.ref.HelloDate">
        <property name="hb">
            <ref parent="helloBean"/>
        </property>
        <property name="date">
            <bean class="java.util.Date"/>
        </property>
    </bean>
   
</beans>
 
parent.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   
    <bean id="helloBean" class="javamxj.spring.basic.ref.HelloBean">
        <property name="hello" value="Hello! Javamxj." />
    </bean>
   
    <bean id="helloBeanParent" class="javamxj.spring.basic.ref.HelloBean">
        <property name="hello" value="Hello! Parent Bean." />
    </bean>
   
</beans>
 
Main.java
package javamxj.spring.basic.ref;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class Main {

    public static void main(String[] args) {
        BeanFactory parent = new XmlBeanFactory(new ClassPathResource(
                "javamxj/spring/basic/ref/parent.xml"));
        BeanFactory child = new XmlBeanFactory(new ClassPathResource(
                "javamxj/spring/basic/ref/beans.xml"), parent);

        HelloDate hd1 = (HelloDate) child.getBean("hd1");
        HelloDate hd2 = (HelloDate) child.getBean("hd2");
        HelloDate hd3 = (HelloDate) child.getBean("hd3");

        hd1.sayHello();
        hd2.sayHello();
        hd3.sayHello();
    }
}
 
 
·運(yùn)行Main.java,輸出結(jié)果如下:
 
Hello! Parent Bean.  2005-8-10 22:25:56
Hello! Child Bean.  2005-8-10 22:25:56
Hello! Javamxj.  2005-8-10 22:25:56
 
 
   OK!這里主要分析beans.xml、Main.java這兩個文件。對于Main.java要注意的是如何加載“parent”的,重點(diǎn)看看beans.xml中ref元素的用法。
 
  首先定義兩個bean:helloBean、dateBean,分別指向HelloBean類和Date類。然后定義了hd1、hd2、hd3等三個bean,都指向HelloDate類。
 
·hd1:
  property標(biāo)簽中的“helloBeanParent”并不存在于beans.xml中,而是在parent.xml中,使用<ref bean="someBean">可以從其它bean配置文件中尋找需要加載的目標(biāo)bean。bean屬性的值可以同目標(biāo)bean的id屬性相同,也可以同它的name屬性中任意的一個值相同。
 
·hd2:
   property標(biāo)簽中的“helloBean”如果不存在于beans.xml中,則XML解析器會提示錯誤。<ref local="someBean">只能這個bean配置文件中尋找需要加載的目標(biāo)bean,而且local屬性值必須同目標(biāo)bean的id屬性相同。
 
·hd3:
   property標(biāo)簽中的“helloBean”同時存在于beans.xml和parent.xml中,使用<ref bean="someBean">則會優(yōu)先從beans.xml中尋找需要加載的目標(biāo)bean,如果需要從parent.xml中加載目標(biāo)bean,則需使用<ref parent="someBean">。在設(shè)置date時,使用的是內(nèi)聯(lián)bean,這時可以不要任何id或name定義。
 
 
  好了,就說這么多了。
 
  這篇文章源代碼下載(不包含庫文件):http://free.ys168.com/?javamxj  Spring目錄下面的SpringBasic.zip。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
快速上手spring(1 - 6)
一個spring的簡單例子
PropertyPlaceholderConfigurer的用法講解
【第五章】Spring表達(dá)式語言 之 5.4在Bean定義中使用EL—跟我學(xué)spring3...
Spring入門16 - BeanFactoryPostProcessor接口
Spring中ref local與ref bean區(qū)別:
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服