我有一个非静态的外部类A,我在这个类A中有一个嵌套的静态类B。我不能更改这个设计的代码,因为它属于另一个团队。我想做的是从 A 类创建一个对象,但我想设置
int toBeSet
来自具有某些值的嵌套静态类 B。例如,我想将其设置为 5。如何在带有 bean 的 spring boot 应用程序中执行此操作?我的课程计划如下:
public class OuterClass {
private int toBeSetOuter;
public OuterClass(InnerClass innerClass) {
this.toBeSetOuter = innerClass.toBeSet;
}
public static class InnerClass {
private int a;
private int b;
private int toBeSet;
public InnerClass(int a, int b) {
this.a = a;
this.b = b;
}
public InnerClass nonStaticMethodInStaticClass(int toBeSet) {
this.toBeSet = toBeSet;
return this;
}
}
}
我想要的是如下所示,但在 spring boot 应用程序中带有 bean(在 xml 文件中)。
OuterClass.InnerClass innerClass = new OuterClass.InnerClass(1,2);
innerClass.nonStaticMethodInStaticClass(5);
OuterClass outerClass = new OuterClass(innerClass);
<bean id="idParent" class="OuterClass">
<constructor-arg name="innerClass" ref="id2"></constructor-arg>
</bean>
<bean id="id1" class="OuterClass$InnerClass">
<constructor-arg name="a" value="1"></constructor-arg>
<constructor-arg name="b" value="2"></constructor-arg>
</bean>
<bean id="id2" factory-bean="id1" factory-method="nonStaticMethodInStaticClass">
<constructor-arg name="toBeSet" value="5"></constructor-arg>
</bean>