2013-11-02 3 views
0

ОК, я не использовал Spring в какое-то время, поэтому я немного ржавый. Не уверен, что я пропустил что-то во всем этом или нет. В моем appContext.xml для Spring указано, что «setter не найдено для свойства testBean в классе com.ztp.spring.injection.TestBean.Не найдено сеттера для свойства * в классе *

Вот файл appContext.xml:

<bean id="myTestBean" class="com.ztp.spring.injection.TestBean" /> 

<bean id="myTestClass" class="com.ztp.spring.injection.TestClass"> 
    <property name="testBean" ref="myTestBean" /> 
</bean> 

и вот файл TestClass.java в полном объеме:

public class TestClass { 
    TestBean testBean; 

    public void setTestClass(TestBean testBean) { 
     this.testBean = testBean; 
    } 

    public void fillBean() { 
     testBean.setId(5); 
     testBean.setTestAnimal("sheltie"); 
    } 
} 

У меня есть другая программа, что я работал на месяцы назад, и его то же логично-мудрый, и он работает. Поэтому я не уверен, что мне не хватает.

Если его уже ответили или вам нужна дополнительная информация, просто скажите, я бы хотел это выяснить.

Заранее спасибо.

ответ

2

Имя метода должно совпадать с именем свойства для компонента:

public void setTestBean(TestBean testBean) { 
5

опечатка в имени метода. Что вы имели в виду это:

public void setTestBean(TestBean testBean) { 
    this.testBean = testBean; 
} 

Вы были setTestClass. Это нарушит JavaBean conventions.

+0

Спасибо !!! Я предполагаю, что это его собственная вонючая ошибка, назвав их настолько похожими, что я не видел разницы. Проблема была исправлена, но, как и при программировании, появилось больше. Вперед, чтобы исправить их! – zeontestpilot

+1

Мы все совершили глупые ошибки, которые имеют большие последствия. Рад помочь. Но также, может ли брат принять здесь ха-ха? – Vidya

Смежные вопросы