본문 바로가기

Language/Java24

[Java] 스트림(Stream) 개념과 연산 - 1 Intro java8의 Stream을 알아보려한다. 보통 java8 이전에는 for문, foreach문을 사용했다. 나 역시 거기에 더 익숙하다. 간단하면 상관이 없는데, 로직이 복잡해질수록 코드가 지저분해졌다. 스트림은 데이터의 흐름이다. 함수 여러 개를 조합해 원하는 결과를 필터링할 수 있다. 또, 병렬처리가 가능하다. 하나의 작업을 둘 이상의 작업으로 잘게 나눠 동시에 진행할 수 있다. 즉, 쓰레드를 이용해 빠르게 처리할 수 있다. 생성하기 : 스트림 인스턴스 생성 가공하기 : filtering, mapping 등의 중간 작업 결과 만들기 : 결과 만들기 작업 (terminal operations) 크게 세 단계로 나누어 스트림을 익히니 쉽게 이해됐다. List는 Collections.sort()를.. 2021. 8. 16.
[Java] ObjectMapping을 위한 MapStruct 알아보기 - 2 Intro 이전 포스팅에서는 MapStruct의 기본 개념과 가장 기본적인 적용에 대해서 알아보았다. 이번 포스팅에서는 실제 구현 시 유연하게 적용할 수 있는 방법들을 알아보도록 하자. 서로 다른 속성 매핑 이전에 사용했던 예제 코드를 활용해보자. StudentDto public class StudentDto { private String name; private String age; private String level; } StudentEntity public class StrudentEntity { private String seq; private String name; private String age; private String grade; private String status = "Atten.. 2021. 8. 12.
[Java] ObjectMapping을 위한 MapStruct 알아보기 - 1 Intro Spring Framework에서 개발할 때, 비즈니스 로직, 객체와 객체 간의 Mapping 등을 할 때 get, set을 일일이 넣어주는 것은 굉장히 피곤한 일이다. 생산성을 떨어뜨리고, 실수하기 쉽다. 코드도 지저분하다. 이를 대신 해주는 것이 Object Mapping 라이브러리이다. Object Mapping에는 여러 종류가 있는데, mapstruct, modelMapper, jmapper, orika 등이 있다고 한다. 그 중 전 세계에서 가장 많이 사용하고 있는 MapStruct를 공부해보려 한다. MapStruct 란 MapStruct는 자바에서 객체 간 매핑에 대한 코드를 자동으로 생성해주는 매핑 라이브러리이다. Annotation을 사용하여 컴파일 시 매핑 코드를 생성한다. .. 2021. 8. 11.
[Java] ExceptionHandler를 이용한 에러 처리 에러가 발생하면 클라이언트에 error message를 전달한다. 좀 더 상세하게 전달하고 싶어 반복적으로 예외를 처리를 했는데 코드가 너무 지저분해 보였다. 이럴 때, ExceptionHandler가 굉장히 유용하다. 예외처리를 좀 더 잘해볼 수 있는 방법을 공부해보자 ! Intro 예외 처리는 굉장히 중요하지만, 놓치는 부분이 많고 어렵다. 주로 사용하는 방식은 try-catch 방식인데 비즈니스 로직에 너무 많이 들어가게 되면 코드가 아주 지저분해지고 복잡해진다. 파라미터를 잘못 전달(400 Error)하거나 알 수 없는 에러(500 Error)가 발생하는 경우는 이걸 하나 하나 다 처리를 하려니 너무 번거로웠고 지저분했다. 이때, ExceptionHandler를 이용하면 비즈니스 로직에 집중할 수.. 2021. 8. 6.