목록2024/10/10 (2)
블로그 이름 뭐하지
제어의 역전(Inversion of Control) 개발자가 직접 제어흐름을 제어하지 않고, 외부의 프레임워크나 라이브러리가 제어 흐름을 대신하게 되는 것이다.// 클래스 A에서 new 키워드로 클래스 B의 객체 생성public class A { b = new B();}// IOC : 코드에서 객체를 생성하지 않고// 어디선가 받아온 객체를 b에 할당한다.public class A{ private B b;} 쉽게 말하면 다른 객체를 직접 생성하거나 제어하지 않고, 외부에서 관리하는 객체를 가져와 사용한다는 뜻이다. //Controller@RestControllerpublic class WebSpringController { private final ChessService chessService; ..
이전에 MVC 패턴으로 작성한 코드는 Controller 클래스 하나로 모든 API를 처리하는 방식이었다.한 개의 클래스에 너무 많은 양의 코드가 존재하면 코드의 이해도 어렵고 변경도 어렵기 때문에서버의 처리과정을 크게 Controller, Service, Repository로 분리시킨다. 3 Layer Architecture의 역할Controller클라이언트의 요청을 받는다.요청에 대한 로직처리는 Service에게 전담하며, Request 데이터가 있으면 함께 전달한다.Service에서 처리가 완료된 결과는 클라이언트에게 응답한다.package com.sparta.memo.controller;import com.sparta.memo.dto.MemoRequestDto;import com.sparta.me..