こんにちは私はあなたの答えを明確にすることができる非常に単純なアプローチで試しました.
以下は、2 つのインターフェイスと 2 つの Bean クラスを使用して構築したコードです。
Job という名前の最初のインターフェース。
public interface Job {
public void setmyJob(String myJob);
public String getmyJob();
}
そして、このインターフェイスを MyJob という名前で実装する 1 つのクラス
public class MyJob implements Job {
public String myJob;
public MyJob() {
System.out.println("From MyJob default Constructor and the ID= "+this);
}
public void setmyJob(String myJob) {
this.myJob=myJob;
}
public String getmyJob() {
return myJob;
}
}
次のステップでは、サービスという名前の別のインターフェイスを作成しました
public interface Service {
public void setJob(Job job);
public Job getJob();
}
次に、このサービス インターフェイスを実装する別のクラスです。
public class MyService implements Service {
public Job job;
public void setJob(Job job) {
this.job=job;
System.out.println("Hello from Myservice: Job ID="+job);
}
public Job getJob() {
return job;
}
}
次に、メイン関数を使用してメインクラスで作成し、次のようにコードを記述しました。
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApplication {
public static void main(String...a) {
BeanFactory beanfactory=new ClassPathXmlApplicationContext("Beans.xml");
MyService myservice=(MyService)beanfactory.getBean("myservice");
System.out.println("Before print");
System.out.println(myservice.getJob().getmyJob());
}
}
私の Beans.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-3.0.xsd">
<bean id="myjob" class="MyJob">
<property name="myJob" value="My First String"/>
</bean>
<bean id="myservice" class="MyService">
<property name="job" ref="myjob"/>
</bean>
</beans>
また、別のオンライン チュートリアルを参考にして、この種の解決策を得ました。このコードに問題がある場合はお知らせください。それは私のために働いています。