up上面那个构造少写一句return ^_^写构造主要是想强制这个类的使用者提供一些信息。所以不想用事后set的方式。

解决方案 »

  1.   

    public class P
    {
        public P(Date d){}
    }
    <bean id='d' class="Date"
    <bean   name="printA"   class="XXX.YYY.PrinterA  ">    
           <       <constructor-arg index="0">   >    
               <ref bean="d"/>    
           </constructor-arg>   
       </bean>  
      

  2.   

    <bean name="printB" class="XXX.YYY.printB"></bean>
    <bean   name="printA"   class="XXX.YYY.PrinterA  ">   
           <constructor-arg index="0" value="printname">//常量
           <constructor-arg index="1">   
               <ref bean="printB"/>   //引用其他的bean
           </constructor-arg>  
       </bean>  
      

  3.   

    谢谢2005
    拿你的例子对应我的例子来说,就是:
    <bean id='printerno' class="String">
    <bean name="printA"  class="XXX.YYY.PrinterA">     
        <constructor-arg index="0">   >     
            <ref bean="'printerno' "/>     
        </constructor-arg>
    </bean>
    那我怎么给printA赋值?或者这个赋值不归Spring管(老实说,我也觉的Spring不该管这个)。
    那么谁管呢?
      

  4.   

    2007 你好:
        常量没用。
        如果用引用,Spring只是指定引用的实例是哪个而已。
        怎么赋值呢?
        
        现在即便我把print实例化需要的所有参数做成一个VO对象。
        不同的打印机,需要的VO不同。
        那么通过Spring也只能确定:实例化哪个打印机要用哪个VO。
        
        但是什么时候给VO赋值呢?顺便问一下,我的发的贴怎么我不能改啊,改错别字都不行~~~
      

  5.   

    由于有工时压力,我放弃了。我现在用一个initPrinter的方法来进行一系列的打印机设置。在注入某类型打印机的实例后,调用这个setPrinter。但是我无法强制使用我这个对象的人调用它。这是让我苦恼的。当然,如果他不调用,我会和他说"很错很异常"。
    对于Spring实现参数构造的问题只能先观望中了。
      

  6.   

    <bean id='printerno' class="String"> 
    <bean name="printA"  class="XXX.YYY.PrinterA">      
         <constructor-arg index="0">   >      
             <ref bean="'printerno' "/>      
         </constructor-arg> 
    </bean> 
    所有的BEAN会自动实例化的.不用再NEW了.
      

  7.   

     实例化出来的printA,里面的printerNo有值么,我要赋值呢~~