1. 프로젝트 설정 Spring Boot 프로젝트를 생성하고, pom.xml 또는 build.gradle 파일에서 필요한 의존성을 추가합니다. 주로 spring-boot-starter-data-jpa를 추가하여 JPA 관련 기능을 사용할 수 있다. 2. Entity 클래스 생성 JPA에서는 데이터베이스의 테이블을 Java 클래스로 표현. @Entity 어노테이션을 사용하여 Entity 클래스를 정의합니다. 각 필드는 데이터베이스의 컬럼과 매핑된다. @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String emai..
제어의 역전 (IoC, Inversion of Control) 제어의 역전은 기존의 프로그램 개발 방식에서 개발자가 객체의 생명주기와 의존성을 직접 다루던 것을 프레임워크 또는 컨테이너에게 위임하는 개념 스프링에서 IoC는 객체의 생성, 생명주기의 관리, 의존성 주입 등을 스프링 컨테이너가 담당 IoC 컨테이너 IoC 컨테이너는 제어의 역전을 실제로 구현하는 역할 스프링에서는 ApplicationContext 인터페이스가 IoC 컨테이너를 나타낸다. ApplicationContext는 빈의 생성, 관리, 소멸과 같은 작업을 처리한다. 빈 (Bean) 빈은 IoC 컨테이너가 관리하는 객체 스프링에서는 빈으로 등록된 객체는 스프링 컨테이너에 의해 생성되고, 관리되며, 필요한 곳에 주입된다.. 빈은 일반적으로..
1. 제어의 역전 (IoC) 제어의 역전은 소프트웨어 개발에서 중요한 개념 중 하나로, 기존의 제어 흐름을 바꾸는 개념. 기존에는 개발자가 애플리케이션의 제어 흐름을 직접 다루었지만, 제어의 역전은 이를 반전시키는 개념. 일반적으로 프로그램이 실행될 때는 개발자가 정한 흐름대로 실행된다. 예를 들어, 함수 A에서 함수 B를 호출하고, B에서 C를 호출하는 경우, 제어 흐름은 A에서 B, B에서 C로 흘러간다..(일반적인 제어 흐름) 제어의 역전은 이런 제어 흐름을 프레임워크나 컨테이너에게 넘기는 것을 의미. 프레임워크나 컨테이너가 언제, 어떻게, 어떤 객체(클래스)를 생성하고, 실행할지를 제어. 이렇게 하면 개발자는 자신이 작성한 코드를 프레임워크나 컨테이너에 등록하고, 이를 통해 실행 흐름을 변경하거나..
3 Layer Architecture는 소프트웨어 개발에서 사용되는 일반적인 아키텍처 패턴 중 하나다. 이 아키텍처는 소프트웨어 시스템을 세 가지 주요 계층으로 나누는 방법을 나타낸다. Presentation Layer (표현 계층) 사용자 인터페이스(UI)와 상호작용을 담당하는 계층. 주로 사용자와 시스템 간의 상호작용을 처리하며, 사용자에게 정보를 표시하거나 입력을 받는 역할을 한다. 웹 애플리케이션의 경우, 웹 페이지 디자인 및 브라우저와 상호작용하는 부분이 여기에 속한다. Business Logic Layer (비즈니스 로직 계층) 시스템의 핵심 비즈니스 로직과 데이터 처리를 다루는 계층. 비즈니스 규칙, 데이터 처리, 유효성 검사, 데이터베이스 상호작용 등을 처리. 이 계층은 Presentati..
Model-View-Controller (MVC) Model 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 데이터를 검색하거나 수정하고, 데이터의 유효성 검사 및 가공을 수행하는 역할 View 사용자에게 데이터를 표시하고 사용자 입력을 받는 부분입니다. 주로 웹 페이지, 화면 또는 사용자 인터페이스를 의미 Controller 사용자의 요청을 받아 해당 요청을 처리하고, Model과 View 간의 상호 작용을 관리 클라이언트의 요청을 받아서 어떤 Model을 사용할 것인지 결정하고, 그 Model을 View에 전달함 Spring MVC의 주요 구성 요소 DispatcherServlet Spring MVC의 핵심 컴포넌트로, 클라이언트 요청을 받고 요청을 처리하기 위한 Controller를 찾아서 실행..
스프링 프레임워크(Spring Framework)의 MVC 패턴 스프링 프레임워크(Spring Framework)에서는 MVC(Model - View - Controller) 패턴을 사용하고 있습니다. MVC(Model - View - Controller)는 사용자의 인터페이스와 비지니스 로직 구현 및 제어를 하는데 사용되고 있습니다. 이 MVC(Model - View - Controller)는 사용자 관점에서 보는 화면과 비지니스 로직을 구분하는 것이 가장 중요합니다. 여기서, MVC(Model - View - Controller)의 사용자 관점에서 보는 화면은 View 즉, 개발을 하는데 *.jsp 이며, MVC(Model - View - Controller)의 비지니스 로직은 Model *.java..
Spring MVC에 Front Controller 장점 API를 처리하기 위해 여러 개의 클래스를 만드는 것을 줄여줄 수 있다. Controller 화면(view)과 비즈니스 로직(Method)을 연결시켜 주는 다리 역할. TV리모컨 같은 존재?라고 생각하면 될 것 같다 사람이(Client, 브라우저) 채널을 눌러 리모컨(Controller)이 채널번호 인식(Method) 받아 TV화면(view)으로 보여주는 것이라고 비유할 수 있을 것 같다. Controller Code Front Controller 패턴으로 효율적인 API 처리를 할 수 있다. API마다 파일을 만들 필요 없이 유사한 성격의 API를 하나의 Controller로 관리한다. 메서드 이름도 마음대로 설정 가능하나 중복은 불가하다. 관련..
Lombok 코드를 절약하기위해 사용하는 라이브러리다. 프로젝트를 진행하는 데 필수적으로 사용되는 메서드 / 생성자 / 게터 / 세터등을 자동생성해준다. 자동적으로 코드를생성해주어 코드의 가독성이 높아지고 절약할수있다. 사용방법은 @이노테이션을 붙여사용하면된다.. @Getter // 필드의 게터를 생성해준다. @Setter // 필드의 세터를 생성해준다. @AllArgsConstructor //모든 필드의 생성자를 만든다. @NoArgsConstructor //기본 생성자를 만든다. @RequiredArgsConstructor // final 이달린 플드드만 생성자를 만든다. 등등 추가로 더있지만 현재 내가 강의에서 사용하는것은 위의 명령어를 자주사용한다고 한다. application.properties..