목록전체 글 (42)
Develog

DTO(Data Transfer Object) DTO가 무엇인지 이해할 수 있다 DTO Validation이 무엇인지 이해할 수 있다. Controller에 DTO 클래스를 적용할 수 있다. HTTP 요청/응답에서의 DTO(Data Transfer Object) DTO(Data Transfer Object)란? 데이터를 전송하기 위한 용도의 객체 정도로만 생각하자 DTO가 필요한 이유? DTO 클래스를 이용한 코드의 간결성 @RequestParam 애너테이션을 사용하면 정보가 많아질수록 코드가 길어질 수 밖에 없다. 하지만 DTO 클래스를 통해 요청 데이터를 하나의 객체로 전달 받는 역할을 해줄 수 있다. DTO 클래스를 사용하는 가장 중요한 목적은 비용이 많이 드는 작업인 HTTP 요청의 수를 줄이기 ..

Chapter - Spring MVC 아키텍처 학습목표 Spring MVC Spring MVC란 무엇인지 이해할 수 있다. Spring MVC의 동작방식과 구성요소를 이해할 수 있다. Spring MVC란? Spring의 모듈 중에는 웹 계층을 담당하는 몇가지 모듈이 있다. 특히 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데, 이 모듈을 spring-webmvc라고 한다. MVC를 줄여서 Spring MVC라고 부르고 있고, Spring MVC가 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크라고도 부른다. 간단하게 정리하자면 Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크이다. 서블릿(Servlet)이란? 서블릿은 클라이언트..

오늘은 Section2의 마지막 날이였다. 처음에 이곳에 왔을 때를 다시 생각 해보면 그때에 비해 현재의 나는 언어에 대한 개념이나 응용할 수 있는 사고가 확실히 많이 좋아진 기분이다. 이번 섹션에서는 스프링 프레임워크에서 가장 중요한 핵심 개념인 DI, AOP 등에 대해 학습을 했다. 사실 아직까지는 전체적인 그림을 그리지 못해서인지 이해가 되지 않는 부분이 너무 많았다. 별도로 강의를 구매해 학습과 병행했지만 항상 느끼는 점은 강의를 통해 부족한 개념을 학습하더라도 이미 진도는 저 멀리에 있는 기분이다. Section1 때부터 이런 느낌을 많이 받아 힘이 들었던 경험이 있기에 Section2 만큼은 제대로 따라가리라 각오했지만 역시나 부족했다. 하지만 이렇게 부정적인 부분만 생각하며 개선할 생각을 하..

Pointcut 표현식 포인트컷과 표현식 & 지시자 포인트컷은 관심 조인 포인트를 결정하므로 어드바이스가 실행되는 시기를 제어할 수 있다. AspectJ는 포인트컷을 편리하게 표현하기 위한 특별한 표현식을 제공한다. ex) @Pointcut("execution(* hello.aop.order..*(..))") 포인트컷 표현식은 AspectJ가 제공하는 포인트컷 표현식을 줄여서 표현하는 것이다. 포인트컷 지시자 포인트컷 표현식은 execution 같은 포인트컷 지시자(Pointcut Designator, PCD)로 시작한다. 종류 설명 execution 메서드 실행 조인트 포인트를 매칭한다. 스프링 AOP에서 가장 많이 사용하며, 기능도 복잡하다. within 특정 타입 내의 조인 포인트를 매칭한다. ar..

학습 목표 AOP의 의미를 이해할 수 있다. AOP가 필요한 이유에 대해 이해할 수 있다. AOP에서 사용되는 용어들에 대해 이해할 수 있다. 타입별 Advice, Pointcu 표현식, JointPoint 등의 의미를 이해할 수 있다. 애너테이션을 이용한 AOP에 대해 이해할 수 있다. AOP가 필요한 이유 먼저 그 전에 객체 지향 프로그래밍(Object Oriented Programming:OOP)에 대해 다시 생각해보자 이전과 현재에 많은 프로젝트는 OOP 패러다임을 지향하며 프로그래밍을 하고 있다. OOP의 핵심은 공통된 목적을 띈 데이터와 동작을 묶어 하나의 객체로 정의하는 것이다. 객체를 적극적으로 활용함으로써 기능을 재사용할 수 있는 것이 큰 장점이다. 객체를 잘 활용하기 위해선 관심사 분리..

학습 내용 스프링에서 DI 할 수 있는 다양한 의존관계 주입 방법에 대해 학습합니다. 생성자 주입 방법(Constructor-based DI)를 권장하는 이유를 학습합니다. 의존 관계 주입 방법 중 수정자 주입(Setter-based DI)와 필드 주입(Field-based DI)의 단점들에 대해 학습합니다. Spring DI(Dependency Injection) 4가지 의존관계 주입 방법이 있다. 생성자 주입 수정자 주입 (setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해서 의존 관계를 주입 받는 방법이다. 생성자에 @Autowired를 하면 스프링 컨테이너에 @Component로 등록된 빈에서 생성자에 필요한 빈들을 주입한다. 여기서 잠깐! @Component는 무엇일까? ..