Spring

Programming/React

[React] Spring Boot와 React를 연동하여 개발 환경 설정 및 Open API 조회

Back-End는 Spring으로, Front-End는 React 환경으로 개발 환경을 만들어 보도록 하자. 한 프로젝트 내에서 Spring으로 백엔드를 구축하고 React로 프론트엔드를 개발하는 방식은 백엔드와 프론트엔드를 동시에 관리하고 통합하는 편리한 방법이다. 이와 같은 구조를 사용하면 하나의 코드베이스에서 모든 업무를 처리할 수 있으며, 백엔드와 프론트엔드를 동시에 빌드할 수 있어 개발과 배포를 간편하게 관리할 수 있다. 하지만 이러한 구조에도 단점은 존재한다.🤔 React는 정적인 앱으로, 백엔드가 종료되어도 프론트엔드는 여전히 작동할 수 있다. 그러나 이러한 구조에서는 백엔드가 종료되면 프론트엔드도 동시에 종료되므로 전체 시스템의 안정성에 대한 리스크가 있다. 또한, 두 애플리케이션의 빌드가..

Programming/Spring

[Spring Boot] 스타필드 도서관 웹 애플리케이션: 프로젝트 구조 및 전체 코드

스타필드 도서관 웹 애플리케이션의 프로젝트 구조와 전체 코드이다. 코드뿐만 아니라 구현 과정 및 구현에 사용된 기술에 대한 설명을 덧붙였다. 2024.03.06 - [Programming/Spring] - [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하기 [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하 MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC..

Programming/Spring

[Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하기

MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC Pattern을 학습하는 것을 목표로 한다. 이 연습 프로젝트는 실제 스타필드 도서관 웹 애플리케이션은 아니지만, JPA를 활용하여 데이터베이스에서 책과 저자에 대한 CRUD 기능을 구현하였다. 💡JPA JPA(Java Persistence API)는 자바의 ORM(Object-Relational Mapping) 기술을 쉽게 구현하도록 도와주는 API이다. ORM은 객체와 관계형 데이터베이스 간의 매핑을 단순화하여 개발자가 객체 지향 프로그래밍 언어로 데이터베이스를 ..

Programming/Spring

[Spring Boot] JPA(Java Persistence API), Hibernate, Spring Data JPA

JPA(Java Persistence API)는 자바의 ORM(Object-Relational Mapping) 기술을 쉽게 구현하도록 도와주는 API이다. JpaRepository를 상속하는 인터페이스에 메서드 이름만 작성하면, JPA가 구현체를 생성하고 필요한 쿼리문을 자동으로 처리한다. 따라서 개발자는 SQL을 작성할 필요 없이 간단한 메서드 명칭만으로도 데이터베이스를 조작할 수 있다. JPA는 엔티티(Entity)라는 클래스를 이용하여 객체를 데이터베이스에 매핑한다. 엔티티는 개발자에게 테이블 또는 레코드와 유사한 개념이다. 객체를 이용하여 매핑을 처리하므로, 개발자는 객체지향적인 코드를 작성할 수 있다. JPA를 사용하면 CRUD(Create, Read, Update, Delete) 작업을 간편하..

Programming/AWS

[AWS] Spring 웹 애플리케이션 WAR 파일을 Tomcat에 배포하기 (Legacy Java 구조)

WAR 파일은 Java 웹 애플리케이션을 배포하기 위해 사용되는 형식으로, JSP나 Servlet과 같은 웹 애플리케이션 컴포넌트들이 WAS(Web Application Server) 컨테이너 위에서 실행될 수 있도록 미리 빌드된 형태이다. WAR 파일은 WAS가 실행되는 시점에 웹 어플리케이션 설정과 리소스를 로드하며, War 파일을 실행하기 위해서는 별도의 웹 서버나 WAS가 필요하다는 특징이 있다. Spring으로 개발된 웹 애플리케이션을 WAR 파일로 빌드하고, AWS와 MobaXterm을 활용하여 Tomcat에 배포하는 방법을 살펴보도록 하자! 프로젝트 목표 Spring Legacy Project(Legacy Java) 구조를 학습한다. Spring 웹 애플리케이션을 War 파일로 빌드하는 과정..

Programming/Spring

[Spring Boot] JUnit 5 및 Mockito를 활용한 단위/통합 테스트

JUnit은 자바 프로그래밍에서 테스트를 수행하는 데 널리 사용되는 프레임워크 중 하나이다. JUnit을 사용하면 단위 테스트를 작성하고 실행하여 소스 코드 모듈이 의도한 대로 작동하는지 확인할 수 있다. 특히, JUnit 5에서는 모듈화된 구조로 테스트 작성 및 실행을 지원하여 개발자가 효율적으로 테스트할 수 있다. 소프트웨어 시스템의 여러 구성 요소가 함께 작동하여 예상대로 작동하는지 확인하는 것은 통합 테스트에 있어 중요한 단계이다. 이를 위해 Spring Boot는 MockMvc와 Mockito 같은 테스트 프레임워크를 제공하여 웹 애플리케이션을 테스트하고 의존성이 있는 객체를 가짜 객체로 대체하여 테스트를 수행할 수 있다. JUnit과 Mockito를 활용하여 테스트를 하면서 프로젝트 설정 오류..

Programming/Spring

[Spring Boot] Naver Search API, Kakao Map API 연동

Naver Search API와 Kakao Map API를 활용하여 특정 키워드로 검색한 장소 검색 결과를 지도에 표시하는 기능을 구현해 보도록 하자. 먼저 네이버 API 이용신청 하는 과정이 필요하다. 그리고 Spring Initializr를 이용하여 Spring Boot로 Demo 프로젝트를 생성하여 코드를 작성하는 과정으로 넘어간다. 💡Naver Application https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com ..

Programming/Spring

[Spring] 이상형 월드컵 웹 애플리케이션 개발 과정

사용자에게 여러 가지 선택지를 제시하고, 그 중에서 선호하는 것을 선택하여 대결을 진행하는 웹 기반 이상형 월드컵을 만들어 보도록 하자. 이상형 월드컵을 사용자가 진행할 때 하나의 페이지에서 화면이 바뀌면서 진행되어야 하므로 데이터를 유지하기 위해 세션 객체를 사용해 보려고 한다. Spring 프로젝트에서 사용자가 선택한 이상형 월드컵 결과를 저장하고 관리하는 시스템을 구현하면서 코드를 검토하고 각 계층에서 사용한 기술을 점검해 보려고 한다. 💡Spring Framework Spring Framework는 자바 기반의 엔터프라이즈 응용 프로그램을 개발하기 위한 전체적인 인프라를 제공하는 경량 프레임워크로, 의존성 주입(Dependency Injection)과 관점 지향 프로그래밍(Aspect-Orient..

Isaac-Christian
'Spring' 태그의 글 목록