
IntelliJ 설치Spring Initializr로 Spring Boot 3.x 프로젝트 생성SDK/Build Tool/Compiler 옵션 설정기본 폴더 구조 파악 + 자동 재실행(선택)한국 백엔드 표준 스택: Java + Spring BootBoot 3.x는 Ja

자바 변수는 타입 변수명 = 값; 형태 (문자열은 String, 숫자는 int, 소수는 float/double, 참거짓은 boolean) if는 조건 맞을 때만 실행, for는 반복 실행 함수는 class 안에 정의, 반환 없으면 void main() 함수 내부에

클래스는 변수·함수 보관함 → new 클래스()로 복사본(object/instance) 뽑아서 사용 constructor(생성자)는 object 생성 시 자동 실행되는 스페셜 함수 → this로 초기값 지정 가능 object 생성 시 파라미터를 넣어 매번 다른 값을

@Controller + @GetMapping으로 요청 URL마다 다른 데이터/페이지 전송 가능 @ResponseBody가 있으면 → 문자열/데이터 그대로 전송, 없으면 → html 파일 반환 정적 파일(html/css/js)은 resources/static/에 두

서버에 요청할 땐 URL + method를 정확히 지켜야 한다.하나의 @GetMapping 같은 메서드와 URL 조합이 바로 API다.REST API는 일관성 있고 깔끔한 서버 사용법을 지향한다.유저가 브라우저를 통해 서버에 데이터나 웹페이지를 요청하는 것요청 시 반드

/list로 접속하면 상품 목록 페이지(list.html)를 전송컨트롤러에서 Model에 담은 데이터를 Thymeleaf로 바인딩정적 HTML → 동적 페이지로 전환하는 첫 단계 확보쇼핑몰/블로그의 기본 흐름은 목록 → 상세템플릿 엔진을 알아야 DB 데이터로 화면을 동

JPA + MySQL(or PostgreSQL) 연결 설정application.properties 로 DB 접속 정보 등록@Entity 클래스로 자동 테이블 생성컬럼 제약 조건 설정 및 데이터 삽입백엔드 개발에서 데이터 저장소(DB) 연결은 필수SQL을 직접 작성하지

DB에 저장된 상품 데이터를 꺼내와서 상품목록 페이지에 출력한다. 코드 양을 줄이기 위해 Lombok 라이브러리를 설치한다. 지금까지는 임시 데이터만 HTML에 넣었는데, 이제 실제 DB 데이터와 연동해야 한다. Spring JPA + Repository 패턴을

DB에 있는 상품 데이터를 불러와서 상품 목록 페이지에 출력 CSS를 적용해 디자인 개선 th:each 반복문으로 상품 데이터를 반복 출력 REST API로 데이터만 주고받는 건 기초 수준 실제 웹서비스는 데이터 + 화면(UI) 을 함께 제공해야 의미 있음 S

자바 클래스 안에서 변수나 메서드에 접근 권한을 제어하는 문법(접근 제어자, Access Modifier) 를 학습합니다.→ 코드 관리와 보안을 위해 중요한 기초 개념입니다.실수 방지: 다른 클래스에서 함부로 데이터를 변경 못하게 막음 안전성 강화: 잘못된 값이 들어

사용자가 상품 이름과 가격을 입력해 서버로 전송 서버는 데이터를 검사 후 DB에 안전하게 저장 이후 상품 목록 페이지로 리다이렉트 모든 웹서비스는 결국 데이터 추가/저장 기능이 핵심입니다.상품 추가는 곧 게시판 글 추가와 비슷하며, 이 과정을 알면 CRUD(Cre

/write 폼에서 title, price 입력 → /add로 POST서버에서 검증 후 DB 저장 (ItemRepository.save)상단 Navbar를 모든 페이지에 공통 포함실무의 90%는 폼 입력 → 검증 → 저장 흐름DTO/엔티티 바인딩(@ModelAttrib

@GetMapping("/detail/{id}") + @PathVariable로 하나의 API로 여러 상품 상세 처리itemRepository.findById(id)는 Optional을 반환하므로 부재 케이스를 안전하게 처리Model로 조회 결과를 템플릿에 바인딩해 d

@GetMapping("/detail/{id}") + @PathVariable로 URL의 id를 받아 단건 상세 처리itemRepository.findById(id)는 Optional → 부재 시 리다이렉트/404로 안전 처리스프링 + 타임리프는 templates/er

데이터만 주고받는 REST API에서 발생하는 다양한 에러(입력 오류, 타입 불일치, 서버 내부 오류)를 일관된 포맷과 상태코드로 응답타임리프(뷰 렌더링) 환경의 error.html 대신, JSON/문자 응답 + HTTP Status로 처리프론트는 HTML이 아니라 상

Controller: 요청/응답·뷰 반환만 담당 Service: 비즈니스 로직(검증, 계산, 트랜잭션 경계 등) 담당 Repository(JPA): DB 입·출력 담당→ 기존 @Controller에 있던 DB 저장 코드를 @Service로 이동하고, 컨트롤러는 서비