Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果Bean构造函数有一个源对象的参数,那么如何编写XML配置?_Java_Xml_Spring - Fatal编程技术网

Java 如果Bean构造函数有一个源对象的参数,那么如何编写XML配置?

Java 如果Bean构造函数有一个源对象的参数,那么如何编写XML配置?,java,xml,spring,Java,Xml,Spring,基本的通知类 public class Notice { public Notice (Object source) { //some constructor initialization. } } 通知类的特例 public class OfferNotice extends Notice { public OfferNotice (Object source) { super(source); //some con

基本的通知类

public class Notice {

   public Notice (Object source)
   {
      //some constructor initialization.
   }

}
通知类的特例

public class OfferNotice  extends Notice {

   public OfferNotice  (Object source)
   {
      super(source);
      //some constructor initialization.
   }

}
abstract public class GenericNoticeRecord <E extends Notice> 
{
        abstract public void recordNotice();     
}
class OfferNoticeRecord extends GenericNoticeRecord <OfferNotice> 
{

    private OfferNotice notice;

    public void setNotice(OfferNotice notice) {
        this.notice= notice;
    }

    public void recordNotice() {        
        // some implementation on Notice
    }


}
public class Mainservice {

    private OfferNoticeRecord offerNoticeRecord;

    public void send()
    {
       offerNoticeRecord.recordNotice();
    }
}
public class App {

   ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
   serv = context.getBean("MainService");

   serv.send()

}
一般通知记录类

public class OfferNotice  extends Notice {

   public OfferNotice  (Object source)
   {
      super(source);
      //some constructor initialization.
   }

}
abstract public class GenericNoticeRecord <E extends Notice> 
{
        abstract public void recordNotice();     
}
class OfferNoticeRecord extends GenericNoticeRecord <OfferNotice> 
{

    private OfferNotice notice;

    public void setNotice(OfferNotice notice) {
        this.notice= notice;
    }

    public void recordNotice() {        
        // some implementation on Notice
    }


}
public class Mainservice {

    private OfferNoticeRecord offerNoticeRecord;

    public void send()
    {
       offerNoticeRecord.recordNotice();
    }
}
public class App {

   ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
   serv = context.getBean("MainService");

   serv.send()

}
应用程序中

public class OfferNotice  extends Notice {

   public OfferNotice  (Object source)
   {
      super(source);
      //some constructor initialization.
   }

}
abstract public class GenericNoticeRecord <E extends Notice> 
{
        abstract public void recordNotice();     
}
class OfferNoticeRecord extends GenericNoticeRecord <OfferNotice> 
{

    private OfferNotice notice;

    public void setNotice(OfferNotice notice) {
        this.notice= notice;
    }

    public void recordNotice() {        
        // some implementation on Notice
    }


}
public class Mainservice {

    private OfferNoticeRecord offerNoticeRecord;

    public void send()
    {
       offerNoticeRecord.recordNotice();
    }
}
public class App {

   ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
   serv = context.getBean("MainService");

   serv.send()

}
现在,如何通过XML为这个示例应用程序注入依赖关系? 下面是我在XML配置中尝试的内容

<bean id="MainService" class="com.test.MainService">    
    <property name="offerNoticeRecord">
         <ref bean="OfferNoticeRecordBean"/>
    </property>
</bean>

<bean id="OfferNoticeRecordBean" class="com.test.OfferNoticeRecord">    
    <property name="notice">
        <ref bean="OfferNoticeBean"/>
    </property>
</bean>

<bean id="OfferNoticeBean" class="com.test.OfferNotice">    
    //here is major confusion, constructor is expecting source Object
</bean>

//这里是主要的混乱,构造函数需要源对象

那么,如果在代码中创建一个
OfferNotice
,您会传递什么?@SotiriosDelimanolis问题是如何在XML配置中传递对象引用。请检查此处:以及第3.3.1.3部分。一些例子。@LuiggiMendoza一旦我们知道我们想要通过什么,这就变得容易了。OP,
source
的意思是什么?@Sotiros实际上在程序中,它就像
OfferNotice=newoffernotice(这个)那么如何像这样添加依赖项呢