zoukankan      html  css  js  c++  java
  • spring中ref标签的用法

    spring中ref标签的用法

    1、作用

    将对象值注入到对应的属性,依赖于配置标签实现

    2、属性

    • bean:通过该属性可以引用同一容器或父容器中的bean对象
    • parent: 引用父容器中的bean

    3、用法

    bean属性用法比较简单,这里就不再介绍,主要讲一下parent属性的用法

    前提

    • 一个Boss类中有name,Car属性,对应一个BossBean.xml配置文件
    • 一个Car类中有brand、price、color属性,对应一个CarBean.xml配置文件

    需求

    • 在BossBean.xml配置文件中引用CarBean.xml配置文件的bean

    Boos类

    package com.yl.bean;
    
    public class Boss {
        private String name;
        private Car car;
    
        public Boss() {
        }
    
        public Boss(String name, Car car) {
            this.name = name;
            this.car = car;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Car getCar() {
            return car;
        }
    
        public void setCar(Car car) {
            this.car = car;
        }
    }
    
    

    Car类

    package com.yl.bean;
    
    public class Car {
        private String brand;
        private Integer price;
        private String color;
    
        public Car() {
        }
    
        public Car(String brand, Integer price, String color) {
            this.brand = brand;
            this.price = price;
            this.color = color;
        }
    
        public String getBrand() {
            return brand;
        }
    
        public void setBrand(String brand) {
            this.brand = brand;
        }
    
        public Integer getPrice() {
            return price;
        }
    
        public void setPrice(Integer price) {
            this.price = price;
        }
    
        public String getColor() {
            return color;
        }
    
        public void setColor(String color) {
            this.color = color;
        }
    }
    
    

    BossBean.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.xsd">
    
        <!--Boss-->
        <bean id="boss" class="com.yl.bean.Boss">
            <property name="name" value="yl001"></property>
            
            <property name="car">
                <!--引用父容器中的car-->
                <ref parent="car"></ref>
            </property>
        </bean>
    
    </beans>
    

    CarBean.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.xsd">
    
        <!--Car-->
        <bean id="car" class="com.yl.bean.Car">
            <property name="brand" value="兰博基尼"></property>
            <property name="color" value="红色"></property>
            <property name="price" value="1000000"></property>
        </bean>
    
    </beans>
    

    4、测试类

     public static void main(String[] args) {
            //父容器 (CarBean)
            ApplicationContext parentCtx=new ClassPathXmlApplicationContext("CarBean.xml");
            //子容器(BoosBean)关联父容器
            ApplicationContext childCtx=new ClassPathXmlApplicationContext(new String[] {"BossBean.xml"},parentCtx);
    
            Boss boss= (Boss) childCtx.getBean("boss");
            System.out.println("老板名 ="+boss.getName());
            System.out.println("所用的车 ="+boss.getCar().getBrand());
        }
    
    记得快乐
  • 相关阅读:
    python基础--选择排序
    python基础--冒泡排序
    python基础----以面向对象的思想编写游戏技能系统
    python基础知识整理
    输入一个整数n,输出该整数中重复的数字,如果没有重复出现的数字则输出no repeat number!
    输入今天以前一个日期,算离今天的天数
    有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
    筛选法求素数
    冒泡、选择、插入、二分插入、希尔排序、快排、二分查找、去掉重复值
    n进制转m进制
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13815014.html
Copyright © 2011-2022 走看看