스프링 학습 노트 - CustomEditor Configurer
그러나 이 인 터 페 이 스 는 12 가지 방법 이 있 습 니 다. 사용자 가 이 인 터 페 이 스 를 실현 하려 면 사용자 정의 속성 편집 기 를 만 드 는 것 이 번 거 로 울 수 있 습 니 다.다행히도 이 인터페이스의 실현 클래스 가 있 습 니 다. java. beans. Property Editor Support, 우 리 는 이 실현 클래스 를 계승 하여 setAsText (String value) 방법 을 덮어 쓰 고 사용자 정의 속성 편집 기 를 실현 할 수 있 습 니 다.
사용자 정의 편집기 의 몇 가지 절 차 를 사용 합 니 다:
(1) Property Editor Support 클래스 를 계승 하여 setAsText (String value) 방법 을 덮어 씁 니 다. 이 방법 은 하나의 문자열 을 통 해 대상 을 구성 합 니 다. 일반적으로 이 방법 에서 문자열 을 분석 하고 하나의 대상 object (어떤 대상 을 구성 하 는 지 는 주입 할 속성 이 어떤 유형 인지 봐 야 합 니 다) 를 구성 하 며 setValue (object) 를 호출 하여 속성 대상 설정 작업 을 완성 합 니 다.
(2) spring 프로필 에 이 속성 편집 기 를 등록 합 니 다.
예:
하나의 User 클래스, 두 가지 속성 이 있 습 니 다: name (String 형식);address (주소 유형)
User.java
- public class User {
- private String name;
- private Address address;
- // getters and setters
- public getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public getAddress() {
- return address;
- }
- public void setAddress(Address address) {
- this.address = address;
- }
- }
Address.java
- public class Address {
- public String streetName;
- public String doorNum;
- // getters and setters
- }
AddressPropertyEditor.java
- public class AddressPropertyEditor extends PropertyEditorSupport {
- public void setAsText(String text) {
- if (text == null || text.equals("")) {
- throw new IllegalArgumentException("text can't be null or empty");
- } else {
- String[] strArr = StringUtils.tokenizeToStringArray(text,",");
- Address add = new Address();
- add.setStreetName(strArr[0]);
- add.setDoorNum(strArr[1]);
- setValue(add);
- }
- }
-
- public String getAsText() {
- Address add = (Address)getValue();
- return "" + add;
- }
- }
spring 프로필 에 추가:
- <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
- <property name="customEditors">
- <map>
- <entry key="org.itec.elwg.entity.Address"> <!-- -->
- <bean class="org.itec.elwg.customeditor.AddressPropertyEditor"/> <!-- Address -->
- </entry>
- </map>
- </property>
- </bean>
-
- <bean id="user" class="org.itec.elwg.entity.User">
- <property name="name" value=" "/>
- <property name="address" value=" ,1037"/>
- </bean>
CustomEditor Configurer 클래스 는 Address 속성 을 AddrProperty Editor 속성 편집기 와 연결 합 니 다. user 에 address 형식의 address 속성 을 주입 할 때 spring 은 address Property Editor 를 사용 하여 "로 유 로, 1037" 문자열 의 값 을 address 대상 으로 변환 하여 address 에 지불 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.