Java 构造函数参数在春天?

Java 构造函数参数在春天?,java,spring,constructor-injection,Java,Spring,Constructor Injection,如何实例化命名构造函数。构造函数是这样的 public MachineInPitImpl(MachineInPitImpl mip){ //here are the attributes initialised } 我将如何在spring中将此构造函数作为构造函数参数提供 我已经试过了,但没有成功,它仍然初始化默认构造函数。我不想初始化默认的cons。我希望spring初始化上面的构造函数 <bean id="machineInPitImpl" class="minestar.

如何实例化命名构造函数。构造函数是这样的

 public MachineInPitImpl(MachineInPitImpl mip){
 //here are the attributes initialised
 }  
我将如何在spring中将此构造函数作为构造函数参数提供

我已经试过了,但没有成功,它仍然初始化默认构造函数。我不想初始化默认的cons。我希望spring初始化上面的构造函数

<bean id="machineInPitImpl" class="minestar.pitlink.domain.pitmodel.MachineInPitImpl" abstract="true">
    <constructor-arg ref="machineInPitImpl"/>

</bean>

Spring注入依赖项,这样您就不必传递对象来用作构造函数参数

将您需要的任何引用定义为spring自动注入的成员,并在实例化时调用init方法来执行您想要的任何逻辑

<bean id="machineInPitImpl" class="minestar.pitlink.domain.pitmodel.MachineInPitImpl"  abstract="true"  
  init-method="init"
  p:machineInPitImpl-ref="machineInPitImpl"  
/>

请注意,我忽略了您试图将一个bean注入到自身中的情况,正如评论员指出的那样,这没有多大意义。

您尝试将同一个bean引用注入到xml中

       <bean id="textEditor" class="com.tutorialspoint.TextEditor">
          <constructor-arg ref="spellChecker"/>
       </bean>

       <bean id="spellChecker" class="com.tutorialspoint.SpellChecker">
       </bean>


       public TextEditor(SpellChecker spellChecker) {
          System.out.println("Inside TextEditor constructor." );
          this.spellChecker = spellChecker;
       }



       public SpellChecker(){
      System.out.println("Inside SpellChecker constructor." );
       }

那么,您想用它自己初始化一个bean吗?那没有任何意义。为什么不使用Java配置,它允许用Java而不是XML定义bean?@JBNizet该类中有两个构造函数。但是我需要在类加载的不是默认构造函数时初始化这个构造函数。我能做到这一点吗?这是13GB代码的一部分。我在这方面做了一些修改。当类加载的不是默认值时,你是什么意思?@Tichodroma完整的句子是,当类加载的不是默认值时,我需要初始化这个构造函数。我需要spring来初始化上面的构造函数,而不是默认的构造函数。不过我不认为这是一种改进。即使使用Spring,使用适当的构造函数也没有错。他的代码不起作用的唯一原因是他正在将bean注入自身。
ApplicationContext context = 
             new ClassPathXmlApplicationContext("app.xml");

      TextEditor te = (TextEditor) context.getBean("textEditor");