클라이언트가 서버로 데이터를 전송하는 과정을 **요청(Request)**이라고 합니다. 이 요청은 클라이언트에서 서버로 전달되는 정보로 구성되며, 주로 세 가지 주요 부분으로 나뉩니다: 요청 라인(Request Line), 요청 헤더(Request Header), 요청 본문(Request Body).구분설명메서드보충 설명요청 헤더(Request Header)서버에 무엇을 하고 싶은지 알려주는 첫 번째 줄입니다.GET, POST, PUT, DELETE 등 HTTP 요청 메서드를 지정합니다GET 은 작업의 종류, 대상페이지, HTTP 버전을 나타냅니다.요청 라인(Request Line)서버에 추가 정보를 제공합니다. 브라우저의 종류, 인코딩, 언어 등을 포함합니다.요청 본분(Request Body)서버에 보..
타임리프는 스프링 부트에서 사용을 권장하는 템플릿 엔진이다. 장점설명HTML 기반으로 사용하기 쉬움타임리프는 HTML 을 기반으로 하기 때문에 HTML 과 크게 다르지 않습니다. 특별한 코드를 작성해서 페이지에 동작을 부여하거나 데이터를 표시할 수 있습니다.동적 페이지 생성조건부 분기(만약 ~이면 XX를 표시), 반복(XX를 여러번 표시) 등 프로그래밍의 기본 기능을 사용해 동적인 휍 페이지를 만들 수 있습니다.내추럴 템플릿타임리프는 '네추럴 템플릿'이라고도 부릅니다. 이는 템플릿을 그대로 HTML 로 볼 수 있다는 뜻입니다. 이를 통해서 디자이너는 특별한 도구 없이도 템플릿을 확인할 수 있습니다.디자이너와의 분업이 쉬움타임리프의 템플릿은 브라우저에 그대로 볼 수 있습니다. 이를 통해 디자이너와 프로그래..
스프링 MVC는 웹 애플리케이션을 효율적으로 개발하기 위한 프레임워크로, 프런트 컨트롤러 패턴을 기반으로 설계되었습니다. 이 패턴은 모든 클라이언트의 요청을 하나의 컨트롤러가 먼저 수신하고, 요청에 따라 적절한 처리를 담당할 수 있는 컨트롤러로 요청을 분배하는 방식입니다. 스프링 MVC의 주요 기능주요기능설명화면 전환 관리스프링 MVC는 클라이언트의 요청에 따라 적절한 화면으로 전환하는 기능을 제공합니다. 이는 사용자와의 상호작용을 원활하게 처리하는 데 중요한 역할을 합니다.데이터 입출력 관리클라이언트(보통 웹 브라우저)와 서버 간의 데이터 입출력을 용이하게 합니다. 이는 사용자 입력을 처리하고, 서버에서 처리된 결과를 클라이언트에게 전달하는데 필수적입니다. 프런트 컨트롤러 패턴의 역할역할설명요청 수신 ..
MVC 모델은 프로그램의 처리 내용을 역할별로 나누어 프로그램을 작성하는 개념으로, 주로 웹 시스템 개발에 사용됩니다. 이 모델은 세 가지 주요 역할로 구성됩니다: 모델(Model: M), 뷰(View: V), 컨트롤러(Controller: C). MVC 모델의 구성 요소 역할설명모델(Model: M)시스템의 비즈니스 로직을 구현하는 부분입니다. 이는 시스템의 핵심 기능이나 주요 서비스를 제공하는 코드를 포함합니다.모델은 시스템이 사용자에게 제공하는 서비스나 기능을 프로그램으로 구현하는 곳입니다.뷰(View: V)사용자에게 결과를 출력하거나 입력을 받는 외관을 담당합니다. 웹 애플리케이션에서는 주로 화면에 해당합니다.뷰는 사용자와의 상호작용을 통해 시스템의 결과를 표시합니다.컨트롤러(Controller..
스프링에서 사용되는 AOP 핵심용어용어의미어드바이스(Advice)여러 클래스에 걸쳐 있는 관심사를 모듈화한 코드 단위입니다. 로킹이나 트랜잭션 관리 같은 기능을 Aspect 로 구현할 수 있습니다.조인포인트(JoinPoint)프로그램 실행 중에 추가적인 기능을 삽입할 수 있는 특정 지점입니다. 어드바이스가 실행되는 구체적인 장소입니다.포인트컷(Pointcut)어떤 조인포인트(위치)에서 어드바이스(코드)가 실행될지를 지정하는 표현이나 패턴, 즉 조건입니다.애스펙트(Aspect)어드바이스와 포인트컷을 결합한 클래스입니다.인터셉터(Interceptor)요청과 응답 사이에서 특정 작업을 수행하는 역할을 합니다. 타겟(Target)Advice 가 적용되는 대상을 의미합니다. 어드바이스의 종류어드바이스내용예시Be..
필드 주입에는 3가지 방법이 있다. 필드 주입세터 주입생성자 주입개요클래스의 필드(변수)에 직접 의존성을 주입하는 방법세터 메서드를 통해 의존성을 주입하는 방법생성자를 통해 의존성을 주입하는 방법기술 방법필드에 @Autowired 애너테이션을 부여세터 메서드에 @Autowired 애너테이션을 부여생성자에 @Autowired 애너테이션을 부여특징코드가 단순해지지만 테스트 시 모킹 하기 어려울 수 있다필요한 의존성만 주입할 수 있다불변성이 유지되어 테스트할 때 모킹이 용이해 진다 필드주입 예시import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Component..
스프링 프레임워크는 DI(의존성 주입) 컨테이너라는 기능을 통해 자바 인스턴스를 생성하고 관리합니다. 애플리케이션을 시작할 때 필요한 설정을 읽어 들여 인스턴스를 생성하고, 이 인스턴스를 DI 컨테이너에 보관합니다. DI 컨테이너에 의해 관리되는 이러한 인스턴스를 빈(bean)이라고 부릅니다. 쉽게 설명하자면, 스프링은 필요할 때 빈을 꺼내어 사용하도록 하는 방식으로 동작합니다. 따라서, 스프링의 사용법을 이해하기 위해서는 이러한 빈을 적절히 활용하는 것이 중요합니다. 스프링 프레임워크에서 특정 클래스를 빈으로 만들기 위해 지시하는 과정을 빈을 정의한다고 합니다. 빈을 정의하는 주요 방법은 크게 세 가지가 있습니다:클래스에 어노테이션을 부여하는 방법자바 설정(Java Config) 클래스에 메서드를 생성..
템플릿 엔진이란 데이터를 미리 정의된 템플릿에 바인딩 해서 뷰의 표시를 도와주는 것을 말한다. 타임리프란 HTML 기반의 템플릿 엔진으로, 정해진 문법으로 작성하면 페이지를 동적으로 조립해 준다. Model 인터페이스란 처리한 데이터를 뷰에 표시하고 싶을 경우 데이터를 전달하는 역할을 한다.스프링 MVC 에 의해 관리되며, 수동 또는 자동으로 객체를 저장하고 관리하는 기능을 제공한다.Model 을 이용하고 싶은 경우 요청 핸들러 메서드의 인수에 Model 타입을 전달한다. 그러면 스프링 MVC 가 자동으로 Model 타입 인스턴스를 설정한다. Model 인터페이스 관련 중요 메서드 addAttribute특정 이름에 대해 값을 설정한다Model addAttribute(String name, Object..
MVC 모델은 프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법으로 웹 시스템 개발에 자주 사용되고 있다.역할은 모델, 뷰, 컨트롤러의 세종류로 나뉘며 앞글자를 따서 MVC 모델이라고 한다. 모델(Model:M)모델은 시스템에서 비즈니스 로직을 담당한다. 비즈니스 로직이란 시스템의 코어 부분 혹은 시스템의 목적을 처리하는 부분을 뜻한다. 뷰(View:V)뷰는 외명을 뜻한다. 사용자 입출력 이나 표현 부분을 담당하며 애플리케이션에서는 주로 화면을 담당한다. 컨트롤러(Controller:C)컨트롤러는 서비스 처리를 담당하는 부분이다. 모델과 표시를 담당하는 뷰를 제어(Control)하는 역할을 한다. 모델(Model:M)비즈니스 로직뷰(View:V)화면컨트롤러(Controller:C)모델과 뷰를..

pgAdmin 4 를 이용해 테이블을 생성할 수 있다.Servers -> PostgreSQL -> Database -> postgres -> Schemas -> Public -> Table 에 우클릭후 생성 제약조건 설명제약 조건개요NOT NULLNULL 입력을 허용하지 않는다(필수 입력)UNIQUE중복값 입력을 허용하지 않는다CHECK지정한 조건에 만족하지 않는 값을 허용하지 않는다.PRIMARY KEY테이블 안에서 레코드를 식별하는 기본키를 설정. 기본키는 NOT NULL 과 UNIQUE 가 함께 적용.FOREIGN KEY관련된 테이블을 연결하는 설정. 외부키라고도 한다DEFAULT 칼럼의 초기값을 설정 DML명령어개요구문INSERT데이터를 등록INSERT INTO 테이블명 (칼럼명, 칼럼명...) ..