본문 바로가기

Spring Framework4

생성자 대신 builder(@builder)패턴을 사용해야 하는 이유 ! 빌더 패턴(Builder pattern)이란?객체를 정의하고 그 객체를 생성할 때 보통 생성자를 통해 생성하는 것을 생각한다.Bag bag = new Bag("name", 1000, "memo"); 하지만 생성자를 통해 객체를 생성하는데 몇 가지 단점이 있어 객체를 생성하는 별도 builder를 두는 방법이 있다. 이를 빌더 패턴이라고 한다.Bag bag = Bag.builder() .name("name") .money(1000) .memo("memo") .build(); 객체를 생성할 수 있는 빌더를 builder() 함수를 통해 얻고 거기에 셋팅하고자 하는 값을 셋팅하고 마지막에 build()를 통해 빌더를 작동 시켜 객체를 생성한다.  빌더를 써야하는 이.. 2024. 4. 25.
Spring 404 JAVA 설정 예외처리 법 - 스프링에서 예외 처리시 여러 방법이 있지만 나는 @ExceptionHandler와 @ControllerAdvice를 이용해 처리함 - 프로젝트 안에 Common 폴더를 만들어 그 안에 GlobalExceptionHandler라는 클래스를 만들어 많은 예외처리를 한번에 담았다. - 다른 에러들은 여기서 바로 클래스로 불러와 처리 가능하지만 404에서는 URL주소 오류 이기 때문에 DispatcherServlet을 통해 처리되기 때문에 따로 설정을 해주어야 예외처리가 가능해진다. - 보통 Web.xml에 servlet 설정을 넣지만, 나는 자바 설정을 사용 했기 때문에 자바 설정을 사용했다. - 마지막 SetInitParameter 부분을 추가해주면 Exception 처리가 되기 때문에 GlobalExc.. 2024. 4. 23.
23.03.30 json형태로 데이터를 return하는 방법은 내가 아는 범위내에서 2가지다. (더 있을 수도 있는데... 일단 내가 아는 방법은 2가지.) 첫째, jsonView 둘째, @ResponsBody 이 2가지이다. 예전에 상세히 들어간 건 아니고 대충 검색해보면서 @ResponseBody보다 jsonView를 이용하는게 더 많은 데이터를 처리하는데 좋다고 하는데, 아직까지 차이가 날 정도로 큰 데이터를 다뤄보지 못해서 차이를 잘 모르겠다. 1. jsonView 사실 회사에 오고나서 이미 이렇게 짜여진 코드를 봐와서 난 이게 따로 설정해야하는 줄 몰랐다. jsonView를 사용하기 위해서는 설정이 필요하다. 몇가지 jar파일을 pom.xml에 선언해주고 설정해주면 된다. (*설정방법은 조금만 찾아보면 바로 찾.. 2023. 3. 30.
23.02.15 redirect, forward 방식의 차이점 Network/Basic 리다이렉트(Redirect)와 포워드(Forward)의 차이는 무엇인가? 2022. 2. 7. 06:03 리다이렉트와 포워드 특정 URL 접속 시 리다이렉트 또는 포워드가 일어나게 되면 작업 중인 페이지가 전환된다. 리다이렉트와 포워드는 페이지가 전환된다는 점에서 비슷한 역할을 한다. 하지만 이 둘 사이에는 페이지를 전환하는 주체가 다르다는 큰 차이점이 있는데, 이 차이점이 동작에 큰 영향을 미친다. 리다이렉트는 페이지 전환 주체가 클라이언트이며, 포워드는 페이지 전환 주체가 서버이다. 클라이언트가 주체가 되어 페이지를 전환하는 방법은 접속한 URL이 아닌 다른 URL로 직접 접속하는 방법 밖에 없다. 반대로 서버가 전환 주체가 되면 URL 주소가 바뀌지 않고도 서버 내부의 동작.. 2023. 2. 15.