백엔드 작업 전 세팅 및 디렉토리

Spring Web
Lombok
Spring Data JPA
MySQL Driver

Build and run using / Run tests using을 intellij IDEA로수정

Java compiler -parameters로 적용
- @PathVariable, @RequestParam 등을 사용할 때 파라미터의 이름을 생략할 수 있도록 컴파일러 옵션을 설정

spring.application.name=JSDEV
# MySQL 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# DB Source URL
spring.datasource.url=jdbc:mysql://localhost:3306/비밀
serverTimezone=UTC&characterEncoding=UTF-8
# DB 계정명 및 비밀번호
spring.datasource.username=root
spring.datasource.password=비밀
# JPA 쿼리문 확인 가능
spring.jpa.show-sql=true
# DB의 고유 기능 사용 가능
spring.jpa.hibernate.ddl-auto=update
# SQL의 가독성 높임(JPA 구현체인 Hibernate 동작)
spring.jpa.properties.hibernate.format_sql=true


추가하기
비즈니스 기능 단위로 폴더/모듈을 나누는 아키텍처 설계 방식
member, order, board, auth 등요청 흐름을 역할에 따라 나누는 아키텍처 패턴
| 구성 요소 | 역할 설명 | 예시 구성 |
|---|---|---|
| Controller | 클라이언트의 요청을 받고 응답 반환 | @RestController |
| Service | 비즈니스 로직 처리 | MemberService.java |
| Repository | DB 접근 및 데이터 처리 | MemberRepository.java |
| DTO / Entity | 데이터 전달 및 저장 객체 | MemberDto, Member |
| 폴더명 | 역할 |
|---|---|
| auth | 🔐 인증 및 인가 관련 로직 관리 (로그인, JWT, 필터 등) |
| common | 🧰 전역에서 재사용되는 유틸리티, 상수, 공통 응답 객체 등 |
| config | ⚙️ Spring 설정 관련 클래스들 (예: WebMvcConfigurer, Security 설정 등) |
| devx | 📦 비즈니스 도메인(여기선 devx 관련 기능)을 담당하는 메인 패키지 |
| └─ controller | 🎮 클라이언트 요청을 처리하는 계층 (REST API 엔드포인트 등) |
| └─ dto | 📦 클라이언트와 주고받는 데이터 객체 (Data Transfer Object) |
| └─ entity | 🗃 DB 테이블과 매핑되는 JPA 엔티티 클래스 |
| └─ event | 📣 이벤트 기반 처리용 클래스 (예: 도메인 이벤트, 알림 등) |
| └─ repository | 🧱 DB 접근을 담당하는 계층 (JPA Repository 인터페이스 등) |
| └─ service | 🔧 비즈니스 로직을 수행하는 핵심 계층 |
| exception | 🚨 사용자 정의 예외, 글로벌 예외 처리 핸들러 등 관리 |