관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)객체지향 프로그래밍(OOP : Object-Oriented PRogramming)과 다른 것AOP란?AOP는 관점을 기준으로 묶어 개발하는 방식을 의미 == 핵심 로직과 부가 기능을 분리해서 코드를 깔끔하게 관리하는 방식여기서 관점(aspect)이란 어떤 기능을 구현할 때 그 기능을 ‘핵심 기능’과 ‘부가 기능’으로 구분해 각각을 하나으로 보는 것을 의미그럼 ‘핵심 기능’과 ‘부가 기능’의 의미를 알아보자핵심 기능비즈니스 로직을 구현하는 과정에서 비즈니스 로직이 처리하려는 목적 기능을 말한다.ex → 클라인어트로부터 상품 정보 등록 요청을 받아 DB에 저장하고 그 상품 정보를 조회하는 비즈니스 로직을 구현했다면 (1) 상품..
의존성 주입(DI)의존성이란?MyController는 MyServiceImpl에 의존 ****하고 있다. 즉, 동작하기 위해 다른 객체가 필요한 상황 == "의존성"public class MyController { private MyService service = new MyServiceImpl();} 의존성 주입이란?제어 역전의 방법 중 하나로 사용할 객체를 직접 생성 하지 않고 외부 컨테이너가 생성한 객체를 주입받아 사용하는 방식 의미스프링에서 의존성을 주입받는 방법 세 가지생성자를 통한 의존성 주입필드 객체 선언을 통한 의존성 주입세터(setter) 메서드를 통한 의존성 주입스프링에서는 @Autowired라는 애너테이션(annotation)을 통해 의존성을 주입할 수 있다. 1. 생성자를 통..
일반적인 자바 개발의 경우 객체를 사용하기 위해 다음과 같은 코드를 사용함public interface MyService { public String getHello();}@Servicepublic class MyServiceImpl implements MyService { @Override public String getHello() { return "Hello"; }}@RestControllerpublic class NoDIController { private MyService service = new MyServiceImpl(); // 직접 생성 @GetMapping("/no-di/hello") public String getHello() { ..
EntityFolderListpackage com.Kkrap.Entity;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;import java.util.List;@Entity@Getter@Setter@Table(name = "folderlist")public class FolderList { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long folderListId; @ManyToOne @JoinColumn(nullable = false, name = "folder_id") private Folders folder; @..
aws 로그인 해서 인스턴스 검색 인스턴스 시작 공짜 버전인스턴스 유형은 프리티어를 사용하고 있다면 t2.micro 로 설정해주셔야 합니다.다른 유형으로 설정하면 과금요소가 추가됨 키페어 다운로드 했는데 내 Mac → Key에 있음 네트워크 설정 이제 생성한 인스턴스의 보안 그룹을 수정보안 그룹이란?AWS 에서 제공하는 방화벽으로 인바운드 규칙, 아웃바운드 규칙이 존재함인바운드 규칙(inbound) : 외부에서 EC2나 RDS 등의 내부로 접근할때 사용되는 방화벽 규칙아웃바운드 규칙(outbound) : EC2나 RDS 등의 내부에서 외부로 접근할때 사용되는 방화벽 규칙우리는 EC2에 접속해서 서버를 띄우는것이 목적이기 때문에 인바운드 규칙만 건드려주도록 하자EC2 메뉴의 네트워크 및 보안 탭의..
ResponseEntity는 응답 헤더, 본문 양식을 맞추어 반환하므로 @ResponseBody자바 스프링 부트에서 @ResponseEntity와 @ResponseBody는 모두 컨트롤러에서 HTTP 응답을 작성할 때 사용되지만, 그 목적과 사용 방식에 차이가 있다@ResponseBody@ResponseBody는 메서드가 반환하는 객체를 HTTP 응답 본문으로 직렬화하여 클라이언트에 직접 전송하도록 하는 어노테이션용도: 주로 RESTful API를 구현할 때 사용하며, 메서드의 반환 값을 JSON이나 XML과 같은 형식으로 변환하여 클라이언트에 전송기본 동작: 메서드가 반환하는 객체는 HttpMessageConverter에 의해 변환되어 HTTP 응답 본문으로 사용ex → "Hello, World!" 문..