Spring 데이터 바 인 딩 및 Property Editor

2994 단어 springpropertyeditor
더 읽 기
Spring 데이터 바 인 딩 및 Property Editor
바 인 딩 을 할 유형 은 제 가 정의 합 니 다.

package mypackage;

public class Address {		//    
	private String zip;			//   
	private String city;		//   
	private String street;		//   

	//         ,     getter setter 
}

자신의 Property Editor 를 실현 하 다.처음부터 시작 할 필요 없어, 하 나 는 우리 에 게 물 려 줄 거 야.

package mypackage;

import java.beans.PropertyEditorSupport;

public class AddressPropertyEditor extends PropertyEditorSupport {

	@Override
	public String getAsText() {
		Address address = (Address) getValue();			// super.getValue()     ,            
		return new StringBuilder()
			.append(address.getZip() + ",")
			.append(address.getCity() + ",")
			.append(address.getStreet())
			.toString();
	}

	@Override
	public void setAsText(String text) throws IllegalArgumentException {

		if (text == null || text.equalsIgnoreCase("")) {
			throw new IllegalArgumentException();
		}

		Address value = new Address();
		String[] ss = text.split("::", 3);
		value.setZip(ss[0]);
		value.setCity(ss[1]);
		value.setStreet(ss[2]);

		setValue(value);								// super.setValue()                
	}
}

마지막 으로 이 사용자 정의 속성 편집 기 는 당연히 spring 에 등록 해 야 합 니 다.


	
		
			
				
			
		
	


아래 에 있 는 이 bean 의 속성 을 모두 인쇄 해 보 세 요.
역시 사용자 정의 속성 편집기 가 유효 합 니 다.

package mypackage;

@Component
public class Person {

	@Value("1")
	private Integer id;

	@Value("yingzhuo")
	private String name;

	@Value("1234")
	private String password;

	@Value("410007::changsha::laodong road.")
	private Address address;

	// getter and setter
}

우리 가 생각 하 는 기능 과 같 지만 spring 은 경 고 를 합 니 다.
【Passing PropertyEditor instances into CustomEditorConfigurer is deprecated: use PropertyEditorRegistrars or PropertyEditor class names instead.】
spring 공식 홈 페이지 에 가서 설명 을 보고 설정 을 수정 하면 이 경 고 를 없 앨 수 있 습 니 다.


	
		
			
		
	


좋은 웹페이지 즐겨찾기