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 공식 홈 페이지 에 가서 설명 을 보고 설정 을 수정 하면 이 경 고 를 없 앨 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.