728x90
31일 차 TIL Spring Interceptor vs AOP vs Filter
99클럽 TIL 2024. 5. 18. 20:18

Interceptor , AOP, Filter 는 모두 Java 기반 웹 및 엔터프라이즈 애플리케이션에서 사용되는 기술임.요청/응답 처리나 메서드 실행을 가로채는 방식으로 횡단 관심사를 처리함.각각의 기술의 목적, 특징 및 실행 영역이 다름.Interceptor vs AOP vs FilterInterceptor목적특정 요청이나 메서드 호출을 가로채어 전처리 및 후처리 로직을 수행특징Spring MVC 에서는 Controller 호출 전후로 요청을 가로채는 HandlerInterceptor 를 제공함.Java EE/EJB 에서는 비즈니스 메서드 호출 전후로 동작하는 EJB Interceptor 를 제공함.Hibernate 에서는 엔티티 변경 전후로 동작하는 Interceptor 가 있음.영역 및 단위Spr..

30일 차 TIL Spring Filter
99클럽 TIL 2024. 5. 17. 21:51

Filter 란?Http 요청 및 응답을 가로채어 전처리 및 후처리 로직을 수행하는 데 사용되는 서블릿 기반의 컴포넌트주로 인증, 인가, 로깅, 데이터 압축 등의 기능을 제공함.web.xml 에 등록하고, 인코딩 변환 처리, XSS 방어 등의 요청에 대한 처리로 사용됨.Servlet 필터는 DispatcherServlet 이전에 실행이 되는데 필터가 동작하도록 지정된 자원의 앞단에서 요청내용을 변경하거나, 여러가지 체크를 수행할 수 있음.특징javax.servlet.Filter 인터페이스를 구현함.서블릿 컨테이너에서 관리되며, 모든 HTTP 요청 및 응답에 대해 전역적으로 작동함.filter 는 순차적으로 적용됨.Spring Security 등의 인증/인가 프레임워크에서도 핵심 컴포넌트로 활용됨.주요 메..

29일 차 TIL Spring Interceptor
99클럽 TIL 2024. 5. 16. 20:51

Interceptor 란가로채다요청/응답 또는 메서드 실행을 가로채고 그 전후로 추가적인 처리를 수행하는 컴포넌트임.사용자의 요청이 컨트롤러에 가기 전에 가로채고, 서버의 응답이 사용자에게 가기 전에 가로챔. HttpRequest, HttpResponse 객체를 가로채어 가공함.Spring MVC HandlerInterceptor(Spring Framework)역할 : Spring MVC 의 컨트롤러에 대한 요청을 가로채 전처리 또는 후처리 로직을 수행함.메서드preHandle() : 컨트롤러가 실행되기전에 호출postHandle() : 컨트롤러가 실행된 후에 호출되지만, 뷰를 렌더링하기 전afterCompletion() : 뷰 렌더링까지 완료된 후에 호출됨.예시import org.springframew..

28일 차 TIL Spring Controller로 들어오는 입력값에 대한 Validation 방법
99클럽 TIL 2024. 5. 15. 18:22

Spring 에서 Controller 로 들어오는 입력값에 대한 유효성 검증을 위해서 Java Bean Validation API 와 Spring Validator 를 사용할 수 있음.Java Bean Validation어노테이션 기반으로 간단하게 검증할 수 있음.의존성 추가pom.xml 또는 build.gradle 에 의존성을 추가함.Maven(pom.xml) org.springframework.boot spring-boot-starter-validationGradle(build.gradle)implementation 'org.springframework.boot:spring-boot-starter-validation'DTO 작성검증이 필요한 입력 데이터에 어노테이션을 활용하여 유효성 검증을..

27일 차 TIL Spring 과 Spring Boot 의 차이점
99클럽 TIL 2024. 5. 14. 15:23

Spring Framework2002 년에 처음 발표된 Java 기반 애플리케이션 개발을 지원하는 오픈소스 애플리케이션 프레임워크모듈화된 아키텍쳐로 다양한 기능 제공장점IoC 컨테이너의존성 주입을 통해 객체 간의 의존성을 관리AOPAOP 를 지원하여 애플리케이션의 핵심 비즈니스 로직과 부가적인 기능(로깅, 트랜잭션 관리 등)을 분리하여 모듈화 할 수 있음.데이터 액세스JDBC, ORM, 트랜잭션 관리MVC 프레임워크Spring MVC 로 웹 애플리케이션 개발 가능함.통합JPA, JMS, 웹 서비스 등의 기술을 통합 지원DI의존성 주입단점설정의 복잡성XML 또는 자바 기반의 설정을 사용하여 각 기능을 설정해야함.여러 XML 파일 및 설정 파일로 인해 설정이 복잡해질 수 있음.높은 초기 학습 난이도학습이 필..

26일차 TIL Spring DL 이란
99클럽 TIL 2024. 5. 13. 21:34

DL 이란?Dependency LookUp의존성 검색필요한 시점에 직접 Spring Bean 에 접근하기 위해 컨테이너가 제공하는 API 를 이용하여 LookUp 하는 것DI 와 비슷하게 두 방식 모두 의존성 관리와 객체간의 결합도를 낮추는 데 목적이 있음.Spring FrameWork에서의 Dependency LookUpSpring Framework 는 의존성 주입(DI)을 주로 사용하지만, Dependency Lookup 패턴도 지원함. Spring 에서 Dependency Lookup 을 사용할 때는 주로 ApplicationContext 를 사용하여 명시적으로 Bean 을 검색함.ApplicationContextApplicationContext 는 Spring 의 중심 컴포넌트로, 애플리케이션 전..

25일차 TIL Spring Container
99클럽 TIL 2024. 5. 12. 20:25

#springSpring Container 란?스프링 프레임워크의 핵심 컴포넌트자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공함.스프링에서는 자바 객체를 Bean 이라고 함.생성, 구성, 조립 및 관리하는 역할을 함.주요기능빈 생명주기 관리Bean 의 생성부터 소멸까지의 전체 생명주기를 관리함.빈의 생성, 의존성 주입, 초기화 후 처리, 그리고 소멸 시의 처리를 포함.의존성 주입클래스 간의 의존성을 외부에서 주입해 줌으로써 느슨한 결합을 유지할 수 있게 도와줌.클래스가 자신이 필요로 하는 의존 객체를 직접 생성하지 않고, 외부에서 제공 받을 수 있게 함으로써 코드의 재사용성과 유지보수성을 향상시킴.빈 설정과 관리컨테이너는 XML 파일, 어노테이션, 자바 설정 클래스 등을 ..

24일차 TIL Spring Bean
99클럽 TIL 2024. 5. 11. 13:42

IndexSpring Bean 이란?왜 사용함?중요 이유Spring Bean ScopeSpring Bean LifeCycle1) Bean LifeCycle2) Bean LifeCycle CallBackSpring Bean 이란?Framework가 관리하는 객체를 의미스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 관리, 설정됨.애플리키에션의 핵심을 이루는 비즈니스 로직, 데이터베이스 연결, 인프라 서비스 등을 담당.new 키워드 대신 스프링이 알아서 해줌.왜 사용함?Spring Framework 의 핵심 기능인 의존성 주입(Dependency Injection, DI) 을 효과적으로 활용하기 위해서임...

728x90