DB
PHP
LLM

S&P 500

SPI@SPX 미국 2026.02.13 16:49 현지시간 기준 |10분 지연제공

6,836.17

전일대비 3.41 (+ 0.05% )

나스닥 종합

NAS@IXIC 미국 2026.02.13 16:15 현지시간 기준 |15분 지연제공

22,546.67

전일대비 50.48 ( -0.22% )

다우 산업

DJI@DJI 미국 2026.02.13 16:20 현지시간 기준 |15분 지연제공

49,500.93

전일대비 48.95 (+ 0.10% )

Converter 활용

작성자아이디 : skok1025, 2022-08-29 19:34:40
카테고리 : Language Java 게시글 수정

Java 에는 Converter 라는 인터페이스가 있다.  해당 인터페이스는 A 타입 -> B 타입으로 변경을 할 때 사용한다. (ex. String -> Integer)

소스로 예를 들자면 "127.0.0.1:8080" 형태의 String 을 DTO 객체로 변환을 아래와 같이 처리가 가능하다. 

1) IpPort DTO 

import lombok.EqualsAndHashCode;
import lombok.Getter;

@Getter
@EqualsAndHashCode
public class IpPort {
private String ip;
private int port;

public IpPort(String ip, int port) {
this.ip = ip;
this.port = port;
}
}
2) String -> IpPort DTO Converter
import hello.typeconverter.type.IpPort;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.convert.converter.Converter;

@Slf4j
public class StringToIpPortConverter implements Converter<String, IpPort> {
@Override
public IpPort convert(String source) {
log.info("convert source={}", source);
// 127.0.0.1:8080

String[] split = source.split(":");

String ip = split[0];
int port = Integer.parseInt(split[1]);

return new IpPort(ip, port);
}
}
3) 사용
@Test
void StringToIpPort() {
StringToIpPortConverter converter = new StringToIpPortConverter();
String source = "127.0.0.1:8080";

IpPort result = converter.convert(source);

assertThat(result).isEqualTo(new IpPort("127.0.0.1", 8080));
}