zoukankan      html  css  js  c++  java
  • 04_属性参考

    【简述】

    如果在bean定义文件中已经有一个定义好的bean实例,则可以直接让某个属性来参考至这个实例,以实际的例子来做示范。

    【工程截图】

    【HelloWorld.java】

    package com.HigginCui;
    import java.util.Date;
    
    public class HelloWorld {
        private String words;
        private Date date;
        //建议加上无参构造函数
        public HelloWorld(){}
        public HelloWorld(String words,Date date){
            this.words=words;
            this.date=date;
        }
        public String getWords() {
            return words;
        }
        public void setWords(String words) {
            this.words = words;
        }
        public Date getDate() {
            return date;
        }
        public void setDate(Date date) {
            this.date = date;
        }
        public String toString() {
            return "HelloWorld [words=" + words + ", date=" + date + "]";
        }
    }

    【applicationContext.xml】

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:aop="http://www.springframework.org/schema/aop"
           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-2.5.xsd
               http://www.springframework.org/schema/aop 
               http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
        <!-- 先定义一个dateBean,之后定义的HelloWorld可以直接参考至dateBean实例
            只要在定义文件中完成定义,接下来Spring就会帮我们完成这个依赖关系 -->
        <bean id="dateBean" class="java.util.Date"></bean>
        
        <bean id="helloWorld" class="com.HigginCui.HelloWorld">
            <property name="words">
                <value>Hello World!!</value>
            </property>
            <property name="date">
                <ref bean="dateBean"/>
                <!-- 如果bean属性只被参考一次,之后在定义文件中不在被其它bean属性所参考,那么也可以
                    直接在定义属性是直接使用<bean>标签,改成这样:<bean class="java.util.Date"> -->
            </property>
        </bean>
    </beans>

    【testHelloWorld.java】

    public class testHelloWorld {
        @Test
        public void testHelloWorld(){
            ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
            HelloWorld helloWorld=(HelloWorld) context.getBean("helloWorld");
            System.out.println(helloWorld.toString());
        }
    }

    【运行结果】

    HelloWorld [words=Hello World!!, date=Fri Jun 10 12:34:06 CST 2016]

    【小结】

    要参考定义文件中已经定义的bean实例,要使用<ref>标签,并使用"name"属性来指定定义文件中药参考的bean实例名。

    Spring的IoC容器会自动生成Date实例,并通过setDate()方法将Date实例设定给helloWorld

  • 相关阅读:
    【LeetCode】226. Invert Binary Tree
    【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree
    【LeetCode】191. Number of 1 Bits
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】100. Same Tree
    【LeetCode】237. Delete Node in a Linked List
    【LeetCode】136. Single Number
    【LeetCode】104. Maximum Depth of Binary Tree
    svn tree conflicts 解决方法
    sed详解
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5573537.html
Copyright © 2011-2022 走看看