Konnte nicht beheben passenden Konstruktor.Mehrdeutigkeit Thema dependency injection mit Spring

Bin ich immer die Fehlermeldung "Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)" während der Ausführung meiner Feder-Programm. Ich bin neu Federkern und versuchen zu lernen, Rahmen. Unten ist der code:

Student.java

package com.inject.test;

public class Student {

    private String name;
    private String className;
    private Address address;



    public Address getAddress() {
        return address;
    }
    public void setAddress(Address address) {
        this.address = address;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getClassName() {
        return className;
    }
    public void setClassName(String className) {
        this.className = className;
    }


}

Address.java

package com.inject.test;

public class Address {

    private String city;
    private String state;




    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }

}

Test.java

package com.inject.test;

    import org.springframework.context.ApplicationContext; 
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class Test {

        public static void main(String[] args) {

            @SuppressWarnings("resource")
            ApplicationContext context =  new ClassPathXmlApplicationContext("file:com/applicationContext.xml");
            Student student = (Student) context.getBean("student");

            System.out.println("Name: " + student.getName());
            System.out.println("Class: " + student.getClassName());

            Address studentAddress = student.getAddress();


            System.out.println("Student Address: ");
            System.out.println("City: " + studentAddress.getCity());
            System.out.println("State: " + studentAddress.getState());      
        }

    }

applicationContext.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="student" class="com.inject.test.Student">
       <property name="name" value="Jai"/>
       <property name="className" value="MCA"/>
       <constructor-arg ref="address" type="java.lang.String"/>
   </bean>

    <bean id="address" class="com.inject.test.Address">
       <property name="city" value="Hyderabad"/>
       <property name="state" value="Telangana"/>
    </bean>

</beans>

Was ändern sollte bei der Lösung der Konstruktor Problem, bitte vorschlagen.

InformationsquelleAutor Kriz | 2016-06-06

Schreibe einen Kommentar