본문 바로가기

전체 글189

[스프링 부트(SpringBoot) : 중급] RESTful API 개발 심화 4. RESTful API 개발 심화 4.1. API 버전 관리 API 버전 관리는 API의 변경사항을 추적하고 호환성 문제를 최소화하기 위한 중요한 전략입니다. 사용자들이 서로 다른 버전의 API를 사용할 수 있게 하여 안정성을 높입니다. 주로 URL이나 헤더를 사용하여 버전 정보를 전달합니다. 예제 코드 (URL에 버전 정보 추가) @RestController @RequestMapping("/api/v1/users") public class UserControllerV1 { // V1 버전의 사용자 관련 API 구현 } @RestController @RequestMapping("/api/v2/users") public class UserControllerV2 { // V2 버전의 사용자 관련 API .. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] 웹 개발 심화 3. 웹 개발 심화 3.1. 예외 처리 스프링 부트에서는 예외 처리를 위해 @ExceptionHandler, @ControllerAdvice 및 @ResponseStatus 어노테이션을 사용할 수 있습니다. 이를 사용하면 애플리케이션 전체에서 발생하는 예외를 쉽게 처리할 수 있습니다. @ExceptionHandler는 특정 예외 클래스에 대해 예외 처리 로직을 작성할 수 있도록 해주며, @ControllerAdvice는 컨트롤러 전체에 걸쳐 예외 처리 로직을 적용할 수 있도록 해줍니다. @ResponseStatus는 예외 발생 시 반환할 HTTP 상태 코드를 지정할 수 있습니다. 예제 코드 @ControllerAdvice public class GlobalExceptionHandler { @Excepti.. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] 데이터베이스 연동 심화 2. 데이터베이스 연동 심화 여기서는 스프링 부트와 데이터베이스 연동의 심화된 내용을 다룹니다. 트랜잭션 관리, 캐싱 사용, 여러 데이터 소스 설정에 대해 알아보겠습니다. 2.1. 트랜잭션 관리 트랜잭션은 데이터베이스 작업의 원자성(Atomicity)을 보장하기 위한 방법입니다. 스프링 부트에서 트랜잭션 관리를 위해@Transactional 어노테이션을 사용합니다. 예를 들어, 사용자 정보를 등록하고 금액을 이체하는 작업이 있을 때 이 두 작업을 트랜잭션으로 묶어 원자성을 보장할 수 있습니다. @Service public class UserService { @Autowired private UserRepository userRepository; @Autowired private MoneyTransferS.. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] 스프링 부트 고급 구성 1. 스프링 부트 고급 구성 1.1. 프로파일 사용 프로파일은 스프링 부트 애플리케이션에서 다양한 환경에서의 설정을 분리하는 데 사용됩니다. 예를 들어, 개발, 테스트, 프로덕션 환경의 설정을 별도로 관리할 수 있습니다. 프로파일을 사용하면 애플리케이션을 특정 환경에 쉽게 적용할 수 있습니다. 먼저, src/main/resources 디렉토리에 개발 환경용 프로파일 설정 파일을 생성합니다. application-dev.yml 파일을 생성하고 다음과 같이 작성합니다. # application-dev.yml server: port: 8080 spring: datasource: url: jdbc:h2:mem:devdb username: sa password: 프로덕션 환경용 프로파일 설정 파일 applicat.. 2023. 5. 5.
[스프링 부트(SpringBoot)] 초급 실전 예제 10. 초급 실전 예제 10.1. 간단한 CRUD 웹 애플리케이션 이 실전 예제에서는 스프링 부트를 사용하여 간단한 CRUD(Create, Read, Update, Delete) 웹 애플리케이션을 개발해 보겠습니다. 이 애플리케이션은 사용자가 게시물을 생성, 조회, 수정, 삭제할 수 있는 기능을 제공합니다. 도메인 모델 생성 먼저, 게시물을 나타내는 Post 도메인 모델을 생성합니다. @Entity public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; // 생성자, getter, setter, equals, ha.. 2023. 5. 4.
[스프링 부트(SpringBoot)] 기본 배포 및 모니터링 9. 기본 배포 및 모니터링 9.1. 실행 가능한 JAR 파일 생성 및 배포 스프링 부트는 실행 가능한 JAR 파일을 생성하여 간단하게 배포할 수 있습니다. 실행 가능한 JAR 파일은 내장된 웹 서버와 함께 애플리케이션을 실행할 수 있는 파일입니다. 이를 통해 복잡한 서버 구성이나 WAR 파일 배포를 생략할 수 있습니다. JAR 파일 생성 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 실행 가능한 JAR 파일을 생성할 수 있습니다. ./gradlew build 빌드 과정에서는 소스코드의 컴파일, 의존성 라이브러리 관리, 테스트 실행 등 다양한 과정이 수행됩니다. 빌드가 완료되면, build/libs 디렉토리에 실행 가능한 JAR 파일이 생성됩니다. JAR 파일 실행 생성된 JAR 파일을 실행하려면 다.. 2023. 5. 3.