2011-12-01 2 views
4

는 공유지 beanutils은 객체에 속성을 '주소'와 'creditCardList'을 설정하려고하지만, 그것은 나에게 오류 준 :아파치 공유 beanutils, 속성 값을 설정하는 방법? 자바에서

java.lang.NoSuchMethodException: Property 'address' has no setter method in class 'class com.dao.Student' 

을하지만 난 거기에이 방법을 가지고있다. 코드는 여기에 있습니다 : 잘 작동

public class Main { 
    public static void main(String[] args) { 
     Object student = new Student("John");  
     Object address = new Address("NJ"); 

     try { 
      PropertyUtils.setProperty(student, "address", address);   
      //---------- 
      List list = new ArrayList(); 
      Object creditCard = new CreditCard(); 
      list.add(creditCard); 

      PropertyUtils.setProperty(student, "creditCardList", list);   

     } catch (Exception e) {   
      e.printStackTrace(); 
     } 
    } 
} 

class Student { 
    private String name;   
    private Address address;  
    private List<CreditCard> creditCardList;  
    public Student(String name) { 
     super(); 
     this.name = name; 
    } 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public Address getAddress() { 
     return address; 
    } 
    public void setAddress(Address address) { 
     this.address = address; 
    } 
    public List<CreditCard> getCreditCardList() { 
     return creditCardList; 
    } 
    public void setCreditCardList(List<CreditCard> creditCardList) { 
     this.creditCardList = creditCardList; 
    } 
} 

class Address { 
    private String name; 
    public Address(String name) { 
     super(); 
     this.name = name; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

class CreditCard{ 
    private String cardName; 

    public String getCardName() { 
     return cardName; 
    } 

    public void setCardName(String cardName) { 
     this.cardName = cardName; 
    } 
} 

답변

4

나는 자신의 파일에 학생을 이동하고 공개는 :

+0

아니요, 방법이 정의되어 있습니다. – user595234

6

클래스의 학생은 공공 만드는 시도하고 코드를 다시 실행, public 클래스이어야한다 .

+1

기본 생성자가 필요하지 않다고 생각합니다. 클래스를 자신의 파일로 옮기고 공개하는 경우에 작동합니다. –

+0

동의 : 감사합니다. +1 – mprabhat

+0

이유를 알고 계십니까? 덕분에 – user595234

관련 문제