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(这个)代码>那么如何像这样添加依赖项呢