Programming/Spring

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/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..

Programming/Spring

[Spring] Spring MVC Framework: MVC 패턴의 구조, 동작 과정

Spring MVC Framework는 웹 개발에서 널리 사용되는 아키텍처 중 하나로, MVC(Model-View-Controller) 패턴을 기반으로 한다. 💡MVC 패턴의 구조 Model 정의: 애플리케이션의 데이터를 책임지며, 비즈니스 로직을 처리한다. 역할: 사용자에게 표시되는 데이터를 가공하고 저장하며, 데이터의 변경이 일어날 경우 적절한 처리 방법을 구현한다. 구현: Java 객체로 표현되며, 특정 도메인의 데이터를 담는 역할을 한다. View 정의: 시각적인 UI를 담당하며, 사용자에게 정보를 표현한다. 역할: Model에서 받은 데이터를 화면에 표시하고, 사용자의 입력을 Controller에 전달한다. 구현: 주로 HTML, JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 구현한다...

Programming/Spring

REST, REST API, RESTful API 정리⭐

💡REST REST(REpresentational State Transfer)는 소프트웨어 아키텍처 스타일 중 하나로, 자원을 이름으로 구분하고 해당 자원의 상태(정보)를 주고받는 통신 방식을 나타낸다. State는 웹 애플리케이션의 상태를, Transfer는 해당 상태의 전송 방식을 의미한다. 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이며, HTTP 프로토콜을 기반으로 하여 웹의 장점을 최대한 활용할 수 있다는 장점이 있다. REST는 반드시 Spring에서만 사용되는 건 아니며, 다양한 플랫폼 및 언어에서 활용될 수 있다. 📌REST의 구성 요소 자원 (Resource) 자원은 소프트웨어가 관리하는 모든 것을 나타내며, 각 자원은 고유한 식별자(ID)를 가진다. 이 식별자는..

Isaac-Christian
'Programming/Spring' 카테고리의 글 목록