전자정부 프레임워크 공부 36

Spring Boot에서 만든 REST API를 호출하는 Vue 3 프로젝트

Spring Boot + JPA로 만든 게시판 REST API를 Vue 3 프론트엔드 앱에서 호출하는 예제를 만들어보겠습니다. 아래는 가장 기본적인 게시글 목록 조회, 게시글 작성, 상세 보기, 삭제 기능을 포함한 Vue 앱 예제입니다. ✅ 1. Vue 3 프로젝트 생성npm init vue@latestcd vue-boardnpm install 선택 시:TypeScript: ❌ (JS로 설명)Router: ✅ YesPinia: ❌ (기본 프로젝트에선 생략)✅ 2. 프로젝트 구조vue-board/├── public/├── src/│ ├── assets/│ ├── components/│ │ ├── PostList.vue│ │ └── PostForm.vue│ ├── views/│ ..

Spring Boot 3, MySQL, JPA, Thymeleaf를 사용한 게시판 - REST API

Service 클래스 (비즈니스 로직)package com.example.board.service;import com.example.board.entity.Board;import com.example.board.repository.BoardRepository;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;import org.springframework.stereotype.Service;import java.util.Lis..

Spring Boot 3, MySQL, JPA, Thymeleaf를 사용한 게시판 - 페이지네이션

Spring Boot + JPA + Thymeleaf 기반 게시판에 페이지네이션(pagination) 기능을 추가하려면 다음과 같이 단계적으로 구현할 수 있습니다.✅ 1. JPA에서 페이징 처리 (Repository)JpaRepository는 기본적으로 PagingAndSortingRepository를 상속하므로, 페이징 메서드를 바로 사용할 수 있습니다.package com.example.board.repository;import com.example.board.entity.Board;import java.util.List;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import or..

Spring Boot 3, MySQL, JPA, Thymeleaf를 사용한 게시판 - CSS

게시판 프로젝트에 CSS를 추가하려면 다음과 같이 하면 됩니다:✅ 1. 정적 CSS 파일 위치Spring Boot에서는 기본적으로 src/main/resources/static 폴더 아래에 있는 정적 자원을 자동으로 서빙합니다.예시 폴더 구조:src/└── main/ └── resources/ └── static/ └── css/ └── style.css✅ 2. CSS 파일 예시 (style.css)body { font-family: ''맑은 고딕; background: #f5f7fa; margin: 0; padding: 0;}.container { max-width: 900px; margin: 50px au..

Spring Boot 3, MySQL, JPA, Thymeleaf를 사용한 게시판

Spring Boot 3, MySQL, JPA, Thymeleaf를 사용하여 Eclipse에서 게시판 프로젝트를 생성하고, 전체 기능(글 목록, 글 작성, 상세 보기, 수정, 삭제)을 구현하는 예제를 단계별로 설명한 내용입니다.🛠 1. 개발 환경IDE: Eclipse IDE (Spring Tools 플러그인 설치 권장)Java: JDK 17Build Tool: MavenDB: MySQL주요 의존성: Spring Boot 3.x, Spring Web, Spring Data JPA, Thymeleaf, MySQL Driver📁 2. Eclipse에서 프로젝트 생성Eclipse 실행 → File → New → Spring Starter ProjectProject Name: springboot-boardTy..

Thymeleaf가 뭐야?

Thymeleaf가 뭐야?ChatGPT의 말:Thymeleaf(타임리프)는 Java 기반 웹 애플리케이션에서 HTML을 동적으로 생성할 수 있도록 해주는 서버 사이드 템플릿 엔진입니다. 주로 Spring Framework, 특히 Spring Boot와 함께 많이 사용됩니다.🔍 Thymeleaf의 특징HTML 파일 그대로 브라우저에서 볼 수 있음Thymeleaf 템플릿은 HTML 형식을 유지하므로, 프론트엔드 개발자도 쉽게 볼 수 있습니다.예: th:text, th:if 등의 속성은 브라우저에서 무시되므로 HTML 파일로서도 유효합니다.Spring MVC와 자연스럽게 통합됨@Controller에서 Model 객체에 데이터를 담아 전달하면, 템플릿에서 바로 사용할 수 있습니다.표현식 언어 지원${user...

JPA가 뭐야?

JPA가 뭐야?ChatGPT의 말:JPA(Java Persistence API)는 자바 객체와 관계형 데이터베이스를 매핑(ORM: Object-Relational Mapping) 해주는 자바 표준 인터페이스입니다. 쉽게 말하면, 데이터베이스의 테이블을 자바 객체처럼 다룰 수 있게 해주는 기술입니다.🔧 주요 개념 정리용어설명Entity데이터베이스 테이블에 대응되는 자바 클래스RepositoryEntity 객체를 저장하고 불러오는 기능을 담당하는 계층Persistence ContextEntity 객체를 관리하는 공간 (1차 캐시처럼 작동)JPQLSQL이 아닌, Entity 객체를 대상으로 하는 쿼리 언어 (Java Persistence Query Language)📦 왜 JPA를 사용할까?SQL 작성 최소..

Spring Framework 게시판 1 - Spring MVC + MyBatis + MySQL

Spring MVC + MyBatis + MySQL 기반 게시판 프로젝트를 posts 테이블을 중심으로 처음부터 끝까지 만드는 과정 입니다.이 예제는 Eclipse IDE, Maven 기반의 Spring MVC 프로젝트를 사용하는 것을 기준으로 설명합니다.📁 프로젝트 구성spring-mybatis-board/├── src/│ ├── main/│ │ ├── java/│ │ │ └── com.example.board/│ │ │ ├── controller/│ │ │ ├── mapper/│ │ │ ├── service/│ │ │ ├── service/impl/│ │ │ └── vo/│ │ ├─..

Spring Framework 프로젝트 예제 - Spring MVC + MyBatis + MySQL

Spring과 MyBatis를 연동하는 방법은 다음과 같은 주요 단계로 구성됩니다.아래 예제는 Spring MVC + MyBatis + MySQL을 기준으로 작성되었습니다.MySQL 8용 테이블 생성 SQLuse springdb;CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;INSERT INTO users (username, email) VALUES ('Alice', 'alice@example.com'),('Bob', 'bob@example.com')..