• SPRING IN ACTION 第4版笔记-第二章Wiring Beans-005-<constructor-arg>和c-namespace


    1.

     1 package soundsystem;
     2 
     3 public class SgtPeppers implements CompactDisc {
     4 
     5   private String title = "Sgt. Pepper's Lonely Hearts Club Band";  
     6   private String artist = "The Beatles";
     7   
     8   public void play() {
     9     System.out.println("Playing " + title + " by " + artist);
    10   }
    11 
    12 }

    2.

     1 package soundsystem;
     2 import org.springframework.beans.factory.annotation.Autowired;
     3 
     4 public class CDPlayer implements MediaPlayer {
     5   private CompactDisc cd;
     6 
     7   @Autowired
     8   public CDPlayer(CompactDisc cd) {
     9     this.cd = cd;
    10   }
    11 
    12   public void play() {
    13     cd.play();
    14   }
    15 
    16 }

    一、-<constructor-arg>

    <?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">
    
      <bean id="compactDisc" class="soundsystem.SgtPeppers" />
            
      <bean id="cdPlayer" class="soundsystem.CDPlayer">
        <constructor-arg ref="compactDisc" />
      </bean>
    
    </beans>

    二、c-namespace(3.0开始有)

    (1)指定参数名称

     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:c="http://www.springframework.org/schema/c"
     5   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     6 
     7   <bean id="compactDisc" class="soundsystem.SgtPeppers" />
     8         
     9   <bean id="cdPlayer" class="soundsystem.CDPlayer"
    10         c:cd-ref="compactDisc" />
    11 
    12 </beans>

    (2)指定参数顺序

    <bean id="cdPlayer" class="soundsystem.CDPlayer"
    c:_0-ref="compactDisc" />

    (3)如查构造函数只有一个参数,则可以连顺序都不用指定

    <bean id="cdPlayer" class="soundsystem.CDPlayer"
    c:_-ref="compactDisc" />
  • 相关阅读:
    xna 添加一个精灵1
    【leetcode】705. 设计哈希集合
    【leetcode】1603. 设计停车系统
    【leetcode】设计有序流
    【leetcode】旅行终点站
    【leetcode】检测大写字母
    【leetcode】重复至少 K 次且长度为 M 的模式
    【leetcode】二叉树的直径
    【leetcode】公交站间的距离
    【leetcode】分糖果
  • 原文地址:https://www.cnblogs.com/shamgod/p/5233662.html
Copyright © 2020-2023  润新知