我有一个关于春豆的问题。
有父类parent和构造函数(没有任何setter)。
class abstract Parent{
procected Something someth;
public Parent(Object1 obj1 , Object2 obj2 , Object3 obj3){
someth.setObj1(obj1);
someth.setObj2(obj2);
someth.setObj3(obj3);
}
}
class Child extends Parent implements SoneInterface{
public Parent(Object1 obj1 , Object2 obj2 , Object3 obj3){
supper(obj1,obj2,obj3);
}
public void methodFormSoneInterface(){
....................
someth.do();
}
}
Object1 obj1-对于任何子实例,它都是相同的对象。Object2 obj2、Object3 obj3-对于任何实例都可以是不同的
若我为父对象使用setter(我不能更改它),我可以声明抽象bean,为它设置object1obj1,然后我可以将它用作抽象bean(只设置obj2和obj3引用/值)。
是否有机会在xml父级/抽象bean中使用obj1参数为子级配置任何定义正确的值(仅设置obj2和obj3)?
谢啦
它是可能的部分构造一个抽象豆.你可能想要尝试这个。
<bean id="parentBean" abstract="true">
<property name="obj1" ref="obj1Ref" />
</bean>
<bean id="childBean" parent="parentBean" class="com.childClass">
<property name="obj2" ref="obj2Ref" />
<property name="obj3" ref="obj3Ref" />
</bean>
它应该是这样工作的,其中构造函数中的第一个参数是您希望在父级设置的参数,另外两个参数可以在子级设置:
<bean id="parent" class="com.foo.bar.Parent" abstract="true">
<constructor-arg index="0" value="123" />
</bean>
<bean id="child1" class="com.foo.bar.Child" parent="parent">
<constructor-arg index="1" value="234" />
<constructor-arg index="2" value="456" />
</bean>
<bean id="child2" class="com.foo.bar.Child" parent="parent">
<constructor-arg index="1" value="aaa" />
<constructor-arg index="2" value="bbb" />
</bean>
我正在开发一个REST API与Spring引导v2.0.0。RELEASE与mongoDB耦合。使用sping-boot-starter-data-mongob连接MongoDB im。 正在申请中。属性我可以更改与mongodb相关的基本配置,但我的问题是,当涉及高级属性时,管理这些配置的最佳方式应该是什么。例如,不能通过应用程序更改每个主机的连接属性。财产。 因此,我使用了AbstractM
在我们的软件,我们使用spring Java配置。我们有一个设置,其中一个配置扩展了一个抽象配置。请看一下这个测试案例: 其思想是,覆盖了并且在创建的ApplicationContext中只有一个类型的bean位于名称之下。 结果是: 所以它说,有两个bean(两个实例--每个名称一个)--甚至更令人吃惊的是:创建这两个bean都使用了相同的方法()。 这种行为在我们看来很奇怪:我们希望sprin
-- 我想创建一个工厂,就像抽象工厂模式一样,我可以调用,以获得我在Spring XML中配置的任何实现的规模: 但是,使用这种方法,我如何配置ScaleFactory应该使用Spring XML中的哪个实现呢? -- 另一种方法是在我的服务中使用属性而不是ScaleFacotry,并使用ScaleFactory,如下所示: 但是这个工厂就毫无意义了,因为我还可以运行。
这里是Java新手。我有两个类(让我们称它们为A和B)和一些方法(例如...))它们包含的代码非常相似,因为它们实际上共享相同的代码。我决定让我的代码更有效,并使用某种父抽象类C,类A、B将继承它。 这是我的问题。方法 doSomething 在类 A 中具有以下签名: < code>doSomething(VievForA视图,...) 而B类中的相同方法do的签名如下: < code>doSo
当我启动应用程序时,我得到以下错误:
我的Spring Batch配置有5个步骤,除了阅读器之外,所有步骤都是相同的。有没有一种方法可以把步骤的所有其他部分抽象成“父”步骤,这样我就不需要重复所有的事情?我知道这可以用XML完成,但是我不知道java的等价物。 以下是其中一个步骤: 以下是其中一位读者的定义: