[SpringBoot] MongoDB 윈도우 설치방법과 간단한 예제
·
프레임워크/SpringBoot
MongoDB는 NoSQL 데이터베이스로, 비관계형 데이터베이스 모델을 사용하는 것이 가장 큰 특징입니다. 스키마리스 구조로 고정된 스키마가 없기 때문에 데이터의 구조를 유연하게 관리할 수 있을뿐더러 샤딩을 통해 데이터를 여러 서버에 분산해 저장하고, 이를 통해 대량의 데이터를 처리할 수 있는 수평적 확장을 지원합니다. 윈도우에 MongoDB 를 설치하는 방법과 SpringBoot를 통해 MongoDB를 사용하는 방법에 대해 알아보겠습니다. 1. 윈도우 MongoDB 설치아래 경로로 접속하여 커뮤니티 버전을 다운로드합니다.https://www.mongodb.com/try/download/communityComplete : 기본Custom : 사용자설정저는 Complete로 진행하였습니다.원하는 경로로 지..
[SpringBoot] 캐릭터 맞히기 게임 사이트 구현하기
·
프레임워크/SpringBoot
최근 유행하는 캐릭터 맞히기 게임을 아이와 함께 즐기다 보니, 흥미가 생겨 직접 만들어보게 되었습니다. 관심 있으신 분들은 한번 참고해보세요! 전체소스는 Github 를 참고해주세요. SpringBoot + Thymeleaf + MariaDB 로 작성되었습니다. 주요 기능일반 모드: 10문제, 20문제, 50문제 중 선택하여 플레이 가능데스매치 모드: 제한 시간과 목숨을 두고 도전하는 스릴 있는 게임 모드공부하기 모드: 게임을 즐기면서 캐릭터에 대해 학습할 수 있는 기능랭킹 시스템: 사용자들의 기록을 기반으로 랭킹을 조회하는 기능메뉴 및 문제 등록: 게임에 사용할 캐릭터와 문제들을 자유롭게 등록 가능 1. 메인화면게임을 선택할 수 있는 메인 화면입니다. 원하는 만화를 선택하여 게임을 진행할 수 있습니다...
[SpringBoot] AOP로 메서드 호출 로그 남기기
·
프레임워크/SpringBoot
AOP(Aspect-Oriented Programming)는 핵심 비즈니스 로직과 분리되는 부가적인 기능, 즉 '횡단 관심사'를 분리해 코드의 가독성과 유지 보수성을 높여줍니다. 대표적인 예로 로깅, 트랜잭션 관리, 보안 등이 있는데, 이 중에서도 메서드 호출에 대한 로깅은 애플리케이션의 동작을 추적하고 디버깅하는 데 큰 도움이 됩니다. 이번 포스팅에서는 Spring Boot의 AOP를 활용해 프로젝트 내 모든 메서드 호출 시마다 자동으로 로그를 남기는 방법을 알아보겠습니다.Spring logback 설정은 블로그 포스팅 을 참고해주세요. 1. 라이브러리 추가// AOPimplementation 'org.springframework.boot:spring-boot-starter-aop' 2. LogAop...
[SpringBoot] JPA 쿼리 메서드 키워드 정리 및 예제
·
프레임워크/SpringBoot
Spring Data JPA는 쿼리를 메서드 이름만으로 작성할 수 있는 강력한 기능을 제공합니다. 복잡한 SQL을 작성하지 않고도 데이터를 쉽게 조회, 수정, 삭제할 수 있는 이 기능은 개발 생산성을 크게 향상시킵니다. 이번 포스팅에서는 findBy, countBy, deleteBy 등의 다양한 키워드와 그 조합을 알아보고, 실제 예제를 통해 활용 방법을 소개하겠습니다. 1. findBy특정 조건을 만족하는 엔티티(혹은 엔티티의 리스트)를 조회할 때 사용// username으로 User 리스트를 조회List findByUsername(String username); 2. existsBy데이터베이스에 존재하는지 체크// 이메일이 데이터베이스에 이미 존재하는지 확인boolean existsByEmail(St..
[SpringBoot] JPA + Criteria를 이용한 Join 예제
·
프레임워크/SpringBoot
이번 포스팅에서는 Spring Boot 환경에서 JPA와 Criteria API를 활용하여 여러 테이블을 Join 하는 방법을 소개하겠습니다. 특히, Criteria API를 사용하면 동적 쿼리 작성이 간편해지고, 복잡한 쿼리를 객체지향적으로 관리할 수 있습니다.이번 예제에서는 users, orders, products 테이블을 기준으로 사용자별 주문 내역을 조회하는 과정을 살펴보겠습니다. VO를 활용하여 데이터를 매핑하고, 실무에서 많이 사용하는 Join 예제를 통해 보다 효과적으로 JPA의 활용 방법을 익히실 수 있습니다.JPA를 처음 사용하시는 분이나 Criteria API를 활용해보고 싶은 분들에게 도움이 되길 바랍니다. 그럼 시작해보겠습니다!전체소스는 Github를 참고해 주세요. 1. 테이블 ..
[SpringBoot] Apache Kafka 간단한 예제만들기
·
프레임워크/SpringBoot
오늘은 SpringBoot와 Apache Kafka를 활용하여 간단한 메시징 예제를 만들어보겠습니다. Apache Kafka는 분산 스트리밍 플랫폼으로, 대규모 데이터 처리 및 실시간 데이터 스트리밍에 강력한 도구입니다.  1. Apache Kafka 소개Apache Kafka는 분산형 스트리밍 플랫폼으로, 대량의 실시간 데이터를 처리하고 저장하는 데 특화된 시스템입니다. LinkedIn에서 개발되어 현재 Apache Software Foundation에서 관리하고 있으며 아래와 같은 특징을 가지고 있습니다.메시지 브로커: Kafka는 생산자(Producer)와 소비자(Consumer) 사이에서 메시지를 전송하는 역할을 합니다. 데이터를 토픽(Topic)으로 구분하여 관리하고, 각 토픽은 여러 파티션(P..
[SpringBoot] 공공데이터포탈 IP 정보검색 구현
·
프레임워크/SpringBoot
이번 포스팅에서는 Spring Boot를 이용하여 공공데이터포탈의 IP 정보 검색 API를 연동하는 방법을 소개하겠습니다. 최근 공공기관과 기업들은 다양한 공공데이터를 활용하여 부가가치를 창출하고 있으며, 특히 IP 주소에 대한 정보는 네트워크 보안과 관련된 다양한 서비스에 필수적입니다. 1. 프로젝트 개요Spring Boot를 이용한 간단한 웹 애플리케이션을 구축하여, 공공데이터포탈에서 제공하는 IP 정보 검색 API를 통해 IP 주소의 세부 정보를 조회해 보겠습니다. 이를 통해 특정 IP가 어떤 기관에 할당되어 있는지, 해당 기관의 위치와 네트워크 정보를 쉽게 얻을 수 있습니다. 2. API 연동 준비우선, 공공데이터포탈에서 API 키를 발급받아야 합니다. API 키는 공공데이터포탈 회원가입 후, 해..
[SpringBoot] HATEOAS 개념 및 간단한 예제
·
프레임워크/SpringBoot
HATEOAS(Hypermedia as the Engine of Application State)는 RESTful API 설계에서 클라이언트가 API의 리소스를 동적으로 탐색하고 사용할 수 있게 해주는 강력한 개념입니다. 이 포스팅에서는 HATEOAS가 무엇인지, 왜 중요한지, 그리고 어떻게 구현할 수 있는지에 대해 알아보면서 더 유연하고 유지보수하기 쉬운 API를 만드는 방법을 소개합니다. 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 RESTful API 설계의 중요한 원칙 중 하나로, 클라이언트와 서버 간의 상호작용에서 클라이언트가 서버의 응답 내에서 하이퍼미디어 링크를 통해 동적으로 리소스를 탐색하고 상태를 전이할 수 있도..
[SpringBoot] openNLP를 이용해 고객센터 챗봇 만들기
·
프레임워크/SpringBoot
Apache openNLP를 이용하여 간단하게 고객센터 챗봇을 만드는 방법에 대해 알아보겠습니다. SpringBoot + Thymeleaf + Redis를 사용하여 작성하였고 전체소스는 Github를 참고해 주세요. 1. 라이브러리 추가plugins { id 'java' id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.6'}group = 'com.cus'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion = JavaLanguageVersion.of(17) }}configurations { compileOnly { exten..
[SpringBoot] 외장톰캣 배포 404 오류
·
프레임워크/SpringBoot
SpringBoot 프로젝트를 내장 톰캣을 이용해 jar로 배포하지 않고, 외장 톰캣을 이용해 war로 배포할 때, 404 오류가 발생하는 경우엔 대부분 SpringBoot 애플리케이션을 초기화하지 않아 외장 톰캣이 인식을 못하는 경우입니다. 그럴 땐 main 함수가 있는 java 소스로 이동하여 아래 내용을 추가하셔야 합니다. Initializer 추가@SpringBootApplicationpublic class MyApp extends SpringBootServletInitializer implements WebApplicationInitializer { public static void main(String[] args) { try { SpringApplication.run(Pharmorder..
제로빈
'프레임워크/SpringBoot' 카테고리의 글 목록