“한 클래스는 하나의 책임만 가져야 한다.”"어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다" - 로버트 C.마틴: 클라이언트 객체는 실행만 하는 책임만 담당“소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야 한다.소프트웨어 요소를 새롭게 확장해도
▶ Spring1.0버전은 2004년 3월 출시지난 20년 세월 동안 단 한번도 자바 엔터프라이즈 어플리케이션 개발의 최고의 자리를 차지.▶ 스프링 프레임워크의 구성은 20여가지로 구성(https://spring.io/projects/spring-framewo
▶ IoC (Inversion Of Control)스프링에서는 일반적인 Java 객체를 new로 생성하여 개발자가 관리 하는 것이 아닌 Spring Container에 모두 맡긴다.즉, 개발자에서 -> 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음으로 "제어의 역전
: 관점 지향 프로그래밍스프링 어플리케이션은 대부분 특별한 경우를 제외하고는 MVC 웹 어플리케이션에서는 Web Layer, Business Layer, Data Layer 로 정의.Application Layer : REST API를 제공하며, Client 중심의 로
전에는 GOf의 디자인패턴 정리로 블로그를 정리해보았는데,이번에는 스프링 프레임워크 중심으로 디자인패턴이 무엇이 있는지 확인해볼려고 한다.스프링 프레임워크는 좋은 웹 개발 플랫폼이지만, 내부 구현도 학습가치가 있을정도로 디자인 패턴을 사용해 잘 작성되어있다.스프링 프레
프록시의 사전적 정의는 '대리인'으로, 간단하게 설명하면 내가 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 두어서 프록시 객체가 대신해서 요청을 받아 실제 객체를 호출해 주도록 하는 것이다.프록시 모드를 설정하
의존관계를 설정하는 부분과 시스템을 돌아가게하는 부분은 분리되어야 한다. (CleanCode)변경 가능성을 최소화하라. (Effective Java)수정자 주입을 사용하려면 setter 를 public 으로 열어야한다.객체의 상태가 변경가능하면 문제가 생길 여지가 너무
@SpringBootApplication Spring boot application으로 설정@Controllerview를 제공하는 controller로 설정@RestControllerREST API 를 제공하는 controller로 설정@RequestMappingURL
Filter Filter란 웹 어플리케이션에서 관리되는 영역으로, Spring Boot에서 Client로부터 오는 요청/응답에 대해서 최초/최종 단계의 위치에 존재하는 것이다. 이를 통해서 요청/응답의 정보를 변경하거나, spring에 의해서 데이터가 변환되기 전의
특정객체를 json으로 바꾸어놓을 때 사용한다. 또는 그 반대로 바꾸어놓을 때 사용한다. 스프링에서는 이미 RequestBody로 객체가 json 으로 바뀌어서 받는다. 그래서 따로 ObjectMapper를 활용하지 않는다.하지만 Json 자체 데이타에서 컨트롤하는 현