본문 바로가기

Backend/Spring Framework (3)

반응형
Backend/Spring Framework

[Spring] AOP 총정리 및 예제

1. AOP(Aspect Oriented Programming)란?공통 관심 기능을 분리하여 반복되는 부분을 추출해 핵심 로직에 영향을 미치지 않고 소스의 중복을 줄이는 방법으로 기존 OOP에서 공통 관심 기능을 여러 모듈에서 적용하며 발생하는 중복된 코드 양산의 한계를 극복하기 위해 나오게 되었습니다.즉. 핵심 로직에 집중할 수 있도록, 필요하지만 중복해서 작성해야 하는 핵심 로직 이외의 코드들은 외부로 빼놓는 것입니다. 또한, AOP는 흩어진 Aspect 들을 모아서 모듈화 하는 기법입니다. *Aspect란?- 객체지향 언어의 클래스와 비슷한 개념이라고 생각하면 쉽습니다.- 그 자체로 애플리케이션의 도메인 로직을 담은 핵심기능은 아니지만, 많은 오브젝트에 걸쳐서 필요한 부가기능을 추상화해놓은 것입니다..

2020. 11. 29.
Backend/Spring Framework

[Spring] 어노테이션(Annotation) 생성 방법

어노테이션(Annotation)이란 소스 코드 안의 요소(클래스나 메소드 등)에 대해 정보(메타 데이터)를 설명하는 메커니즘입니다. 클래스나 메서드에 특정 역할 및 의미를 갖게 하는데 사용할 수 있습니다. 자바에서 제공하는 표준 API에서는 다음과 같은 어노테이션이 있습니다.1) 메소드의 오버라이드를 나타내는 @Override2) 비추천을 나타내는 @Deprecated3) 경고를 출력하지 않도록 하는 @SuppressWarnings 위에서 제공하는 자바 표준 API 말고도 자바, 스프링에서는 사용자가 커스텀 어노테이션을 만들 수 있습니다.아래글에서부터는 커스텀 어노테이션을 만드는 방법에 대하여 알아보도록 하겠습니다.1. Anotation 생성 public @interface LogExecutionTime..

2020. 11. 15.
Backend/Spring Framework

[Spring] Filter, Interceptor, AOP 개념과 차이점

공통 프로세스에 대한 고민 공통업무에 관련된 코드를 모든 페이지 마다 작성 해야한다면 중복된 코드가 많아지게 되고 서버에 과부하는 기본이고 관리하기 쉽지 않습니다. 즉, 공통 부분은 따로 관리하는 것을 권장합니다.이러한 공통업무를 프로그램 흐름의 앞, 중간, 뒤에 추가하여 자동으로 처리할 수 있는 방법이 있습니다.1. Filter(필터)말 그대로 요청과 응답을 거릅니다. 서블릿 필터는 DispatcherServlet 이전에 실행이 되는데 필터가 동작하도록 지정된 자원의 앞단에서 요청 내용을 변경하거나, 여러가지 체크를 수행할 수 있습니다. 또한, 자원의 처리가 끝난 후 응답내용에 대해서도 변경을 수행할 수 있습니다.보통 web.xml에 등록하고, 일반적으로 인코딩 변환 처리, XSS방어 등의 요청에 대한..

2020. 3. 9.
반응형