-
Spring Boot와 React 연동: 개발 환경 구성백엔드(웹 서버, WAS)/Spring Boot 2025. 1. 26. 18:41
React와 Spring Boot 연동: 개발 및 배포 흐름

프로젝트 의존성 목록
- 프론트엔드 (React)
axios 1.7.9 HTTP 클라이언트 라이브러리 (API 호출) react 19.0.0 React 프레임워크 react-dom 19.0.0 React DOM 렌더링 react-router-dom 7.1.3 React의 라우팅 라이브러리 react-scripts 5.0.1 React 프로젝트 빌드 및 실행 cra-template 1.2.0 Create React App 템플릿 http-proxy-middleware 2.0.6 백엔드 프록시 설정을 위한 라이브러리 web-vitals 4.2.4 웹 성능 측정 도구 - 백엔드 (Spring Boot)
spring-boot-starter-web 최신 버전 REST API 및 웹 애플리케이션 개발 mariadb-java-client 3.1.2 MariaDB 데이터베이스 드라이버 slf4j-api 1.7.36 로깅을 위한 SLF4J 인터페이스 logback-classic 1.2.11 로깅 프레임워크 (Logback) spring-boot-devtools 최신 버전 개발용 도구 (핫 리로드 기능 제공) spring-boot-starter-test 최신 버전 테스트용 라이브러리 모음 junit-platform-launcher 최신 버전 JUnit 테스트 실행 도구 spring-boot-starter-data-jpa 최신 버전 JPA를 통한 데이터베이스 작업 지원
프로젝트 구조
프로젝트 루트/
│-- src/
│ ├── main/
│ │ ├── frontend/ # 프론트엔드 (React)
│ │ │ ├── public/
│ │ │ ├── src/
│ │ │ │ ├── components/ # UI 컴포넌트 폴더
│ │ │ │ ├── pages/ # 페이지 폴더
│ │ │ │ ├── services/ # API 요청 로직 폴더
│ │ │ │ ├── App.js # 메인 React 컴포넌트
│ │ │ │ ├── index.js # React 진입점│ │ │ ├── setupProxy.js # 프록시 설정 (React → 스프링)
│ │ │ ├── package.json # React 패키지 관리
│ │ │ ├── start_server.sh # 서버 실행 스크립트(인텔리제이)
│ │ ├── java/ # 백엔드 (Spring Boot)
│ │ │ ├── me/jeong/movieinfo/
│ │ │ │ ├── config/
│ │ │ │ │ ├── CorsConfig.java # CORS 설정
│ │ │ │ │ ├── WebConfig.java # 웹 설정
│ │ │ │ ├── controller/
│ │ │ │ │ ├── ReactController.java # API 컨트롤러
│ │ │ │ ├── MovieinfoApplication.java # 메인 애플리케이션 실행
│ │ ├── resources/ # 리소스 파일 (application.properties 등)
│-- test/ # 테스트 관련 파일
│-- build.gradle # Gradle 빌드 설정(의존성)
│-- package.json # 프론트엔드 패키지 관리
│-- gradlew # Gradle 실행 스크립트 (Linux/Mac)
│-- gradlew.bat # Gradle 실행 스크립트 (Windows)
│-- .gitignore # Git에 올리지 않을 파일 목록
│-- README.md # 프로젝트 설명 파일
기본 설정 및 환경 구성
Spring, DB 연결 정보와 JPA 설정
spring.application.name=movieinfo # Database spring.datasource.url=jdbc:mariadb://localhost:3307/movieinfo?allowPublicKeyRetrieval=true&useSSL=false spring.datasource.username= spring.datasource.password= spring.datasource.driver-class-name=org.mariadb.jdbc.Driver # Hibernate spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialectProxy
const { createProxyMiddleware } = require('http-proxy-middleware'); module.exports = function(app) { app.use( '/api', createProxyMiddleware({ target: 'http://localhost:8080', // 백엔드 포트 설정 changeOrigin: true, logLevel: 'debug', // 디버깅 활성화 }) ); };'백엔드(웹 서버, WAS) > Spring Boot' 카테고리의 다른 글
85일차 - 부트스트랩 사용방법 (0) 2024.05.30 84일차 - 웹 크롤링 (0) 2024.05.29 83일차 - 암호화, 텍스트 에디터 라이브러리 적용 (0) 2024.05.28 82일차 - 톰캣, 빌드, 빌드 전 프로필 설정 (0) 2024.05.27 81일차 - 인터셉터, 파일 업로드, 다운로드, 스케쥴러 (0) 2024.05.24