본문 바로가기

Backend/Spring

(4)
스프링 AOP(Aspect-Oriented Programming) 목차 AOP란? 스프링 AOP에 대하여프록시 객체와 AOP의 원리AOP 기반 어노테이션 사용 시 주의점 AOP란?AOP(Aspect-Oriented Programming)의 사전적 정의는 아래와 같다. 컴퓨팅에서 관점 지향 프로그래밍은 횡단 관심사의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 말로만 들었을때는 조금 와닿지 않을 수 있으나 프로그래밍적으로 해석하자면,AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)는 애플리케이션의 핵심 로직(Core Logic)과 부가 기능(Cross-Cutting Concern)을 명확히 분리하기 위한 프로그래밍 패러다임이다. 일반적으로 프로그램 코드를 작성할 때, 인증이 필요한지 검사하거나 로그를..
[백엔드/Spring] - mvc 패턴과 스프링 mvc 목차 1.MVC(Model-View-Controller) 패턴? 2. 스프링 mvc 동작과정 3. 실제 프로젝트와 비교 MVC(Model-View-Controller) 패턴? 더보기 MVC 패턴은 디자인 패턴 중 하나로, 소프트웨어를 세 가지 구성 요소(Model, View, Controller)로 분리하여 개발하는 디자인 패턴이다. Model, View, Controller는 각각 아래와 같은 역할을 수행한다. 1. Model - Model은 비즈니스 로직과 데이터를 나타낸다. Model은 보통 데이터베이스와 직접적으로 상호작용하거나, 외부 서비스와 통신하여 데이터를 가져오거나 처리하는 역할을 한다. 2. View - View는 사용자 인터페이스를 나타낸다. 실제 사용자에게 보여지는 화면을 의미하며 사..
[백엔드/Spring] - 스프링 빈과 의존성 주입 목차 1. 스프링 빈(Spring Bean)? 2. 의존성 주입? 3. 왜 쓰는가 4. 마치며 스프링 빈(Spring Bean)? 더보기 스프링 빈(Spring Bean)은 스프링 컨테이너에 의해 관리되는 소프트웨어 컴포넌트이다. 인터넷을 찾다보면 이와 같이 스프링 빈에 대해 소개하는 글을 어렵지않게 찾을 수 있다. 정말 말그대로 스프링 빈은 개발자가 new나 delete등의 키워드를 통해 관리하는 클래스의 인스턴스가 아니라 스프링 컨테이너에서 관리되는 객체이다. 스프링 컨테이너에의해 관리되는 스프링 빈은 프로젝트내에서 하나의 객체 인스턴스만 존재할 수 있다는 특징이 있다. 근데 이 개념은 어디서 들어본 적이 있다. 디자인 패턴 중 클래스의 생성자를 제한하여 최초에 생성한 하나의 객체 인스턴스만을 가질 ..
[Backend/Spring] 클라이언트에서 서버로 요청 데이터 전달 브라우저와 같은 클라이언트에서 서버로 HTTP 요청 메시지를 보낼 때, 서버로 데이터를 전달해야될 때가 있다. 특정 회원 정보 조회라던가, 로그인 정보, 게시판에서 글쓰기 등등 여러가지 경우가 있겠다. 그런 경우 보통 3가지 방법중 하나를 사용하게된다. * GET - 쿼리 파라미터 - 메시지 바디 없이, URL에 직접 데이터를 적어서 전달 - 검색, 필터 등에서 주로 사용하는 가벼운 방식 * POST - HTML 폼 - POST 메시지의 바디에 쿼리 파라미터 방식으로 전달 - 로그인이나 상품 주문 등에 주로 사용 * HTTP message body에 데이터를 직접 담아서 요청 - HTTP API에서 주로 사용하며 형식은 JSON을 많이 사용 Get 쿼리 파라미터 ex) localhost:8080/requ..