2025/09/06 4

Spring - Bean 주입 / XML vs JavaConfig

Spring 에서 Bean(객체)을 컨테이너에 등록하고 의존성을 주입하는 방법은 크게 두 가지가 있음. - XML 설정, JavaConfig 방식 XML 기반- 설정이 코드와 분리되며, 운영 중 XML만 수정이 가능하다.- 설정파일이 길어지고 관리가 어렵다.xml version="1.0" encoding="UTF-8"?>web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" id..

Spring Boot - REST API

뭐임?- RESTful API 는 REST 아키텍쳐 스타일을 따르는 애플리케이션 프로그래밍 인터페이스(API) 이다. REST는 웹 기본 원칙(HTTP 프로토콜, URI, 메서드 등)을 활용하여 시스템 간 데이터를 주고받는 방식을 정의한 설계 방식이다. RESTful API는 주로 클라이언트와 서버 간 통신을 위해 사용된다. 구성 요소?1. 자원 Resource : REST에서는 모든 데이터를 자원으로 취급, URI로 식별함2. HTTP 메서드 : 자원에 대해 수행할 작업 정의 / GET(자원 조회), POST(자원 생성), PUT(자원 수정), DELETE(자원 삭제)3. 상태 코드 Status Code : 요청의 결과를 나타냄 / 200 OK, 201 Created, 400 Bad Request, 4..

Filter vs Interceptor vs AOP

Interceptor vs AOP vs Spring Filter 모두 공통 기능을 끼워넣는 기술이라 헷갈려서 쓰는 글임 ~-~동작 시점, 범위, 사용 목적이 다르다고 한다. Filter (비유 : 건물 입구 보안 게이트)- 웹 애플리케이션 전역 / 서블릿, 정적자원까지 포함해서 가로 챔- DispatcherServlet 진입 전 후 / 서블릿 컨테이너 레벨에서 동작 / 즉, 스프링 MVC에 들어오기 전에 요청 응답 가로챔- 스프링 밖의 자원 JSP, 이미지, CSS, JS 등 모든 요청, 응답- 주로 인코딩 처리(UTF-8), 보안(권한 체크), CORS 설정, XSS 필터링, 공통헤더 추가 등에 사용 Interceptor (사무실 문 앞 보안 체크)- 스프링 MVC 컨트롤러 전용 가로채기- Dispat..

Spring AOP - LogAdivce 구현 예제

AOP는 Aspect Oriented Programming의 약자로 관점지향 프로그래밍이라고 불린다. 관점지향이란 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 예) 핵심적 관점은 적용하고자 하는 핵심 비즈니스 로직, 부가적 관점은 핵심로직을 실행하기 위해 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등 각 관점을 기준으로 로직을 모듈화 한다 = 코드를 부분적으로 나누어 모듈화 한다흩어진 관심사 (Crosscutting Concerns) : 다른 부분에서 계속 반복하여 쓰는 코드흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여..