본문 바로가기
728x90
반응형

Study364

[Java] Map보다 DTO 클래스를 사용해야 하는 이유 필요한 데이터를 저장하기 위해 Map를 사용하는 개발자들이 있습니다. 하지만 Map을 사용하면 너무 많은 단점들을 안게 되는 것 같아서, 왜 Map이 아닌 DTO 클래스를 사용해야 하는지에 대해 정리해보고자 합니다. 1. Map보다 DTO 클래스를 사용해야 하는 이유 [ Map을 사용할 때의 단점 ] 컴파일 에러를 유발할 수 없음 String 텍스트를 Key로 사용함 가독성이 떨어짐 타입캐스팅 비용이 발생함 불변성을 확보할 수 없음 1. 컴파일 에러를 유발할 수 없음 Map의 Value는 Object 타입이다. 그리고 Object 클래스는 최상위 클래스이기 때문에 어떠한 데이터도 받아드릴 수 있다. Object를 사용할 때의 문제는 어떠한 데이터도 받아드릴 수 있기 때문에 타입 체크를 할 수 없다는 것 .. 2023. 2. 27.
@RequestBody로 String 타입을 받는 경우 Troubleshooting 발생한 문제 @PostMapping("{id}") public boolean checkPassword(@RequestBody String password, @PathVariable long id) { System.out.println("password = " + password); return blogService.checkPassword(id, password); } 요청 결과 위 json 데이터를 요청 보내면 코드 상으로 password 값에 pw가 String 타입으로 있을 거라고 기대했지만 josn 형태로 그대로 들어가있다. 해결 과정 보통 아래의 코드처럼 User 객체를 json 형태로 보냈을 때 user.getName() 의 반환값으로 "wisdom" 이 Strin.. 2023. 2. 16.
[용어 정리] Deploy의 의미 보호되어 있는 글 입니다. 2023. 2. 8.
[Spring] 빈 등록을 위한 어노테이션 @Bean, @Configuration, @Component 차이 및 비교 1. Spring Bean이란? [ Spring Bean 이란? ] Spring에서는 Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라고 부르며, 이러한 Bean들은 Spring을 구성하는 핵심 요소이다. Spring의 Bean을 정리하면 아래와 같다. POJO(Plain Old Java Object)로써 Spring 애플리케이션을 구성하는 핵심 객체이다. Spring IoC 컨테이너(또는 DI 컨테이너)에 의해 생성 및 관리된다. class, id, scope, constructor-arg 등을 주요 속성으로 지닌다. [ Spring Bean 구성 요소 ] class: Bean으로 등록할 Java 클래스 id: Bean의 고유 식별자 .. 2023. 2. 8.
728x90
반응형