정적 팩터리 메서드란? 정적 팩터리 메서드란 객체 생성의 역할을 하는 클래스 메서드이다. public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; }정적 팩터리 메서드는 디자인패턴에서의 팩터리 메서드와 다르다. 디자인 패턴중에는 이와 일치하는 패턴은 없다. 정적팩터리 메서드 장점 1. 이름을 가질 수 있다. 생성자 자체만으로는 반환될 객체의 특성을 제대로 설명하지 못하지만 정적 팩토리 메서드는 가능하다. 2. 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다. 생성자는 호출할 때마다 새로운 인스턴스를 생성하지만 정적팩토리 메서드는 작성하는거에 따라 계속 새로 안만들 수 있다. 3. 반환 타입의 하위 타입 객체..
ViewResolver dispatcherServlet은 Handler Adapter에서 받아온 view 이름을 가지고 viewResolver에게 이러한 view가 있는지 물어보고 viewResolver는 view가 존재하는지 아닌지 판단하는 역할을 하게된다. 즉, ViewResolver는 사용자가 요청한 것에 대한 응답 view를 렌더링하는 역할이다. Springboot ViewResolver SpringBoot를 사용하면서 view로는 thymeleaf를 사용했던 경험이 있는데 이 때 ViewResolver를 생성하지도 Bean으로 등록하지도 않았는데 어떻게 처리되는지에 대해서 알아보겠다. 일단 먼저 DispatcherServlet은 SpringBoot에 자동설정 기능으로 자동 등록 된다. packa..
HttpMessageConverter HttpMessageConverter는 기존의 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라 HTTP API(REST API)처럼 JSON형식의 데이터 메시지바디를 직접 읽거나 쓰기 위해 메시지 본문을 다루는 방식을 말한다. 스프링 MVC는 다음의 경우에 HTTP 메시지 컨버터를 적용한다. HTTP 요청 : @RequestBody, HttpEntity(ResponseEntity) (ResponseEntity는 HttpEntity를 상속받았음) HTTP 응답 : @ResponseBody, HttpEntity(ResponseEntity) 기존의 요청 URL 파라미터, HTML Form 방식에서의 viewResolver대신 HttpMessageConverter이 ..
스프링 vs 스프링부트 스프링(Spring) 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공하고 있다. 스프링은 DI, IOC를 통해 재사용 및 유지보수가 용이한 코드를 작성할 수 있고, 확장성을 가진 코드를 설계할 수 있다 또한 스프링이 제공해주는 기능들을 통해 개발자는 비즈니스 로직에만 집중할 수 있기 때문에 생산성을 증가 시킬 수 있다는 장점을 가지고 있다. 스프링부트(Spring Boot) 스프링부트는 스프링을 더 쉽게 이용하기 위한 도구라고 볼 수 있다. 스프링을 사용할 때 이것저것 세팅을 해야 될 요소가 너무 많아 불편함이 있었는데 스프링부트는 매우..