본문 바로가기

GD's IT Lectures : 기초부터 시리즈/스프링부트(Spring Boot) 기초부터 ~31

[스프링 부트(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.
[스프링 부트(SpringBoot)] 테스트 기초 8. 테스트 기초 8.1. 테스트의 중요성 소프트웨어 개발 과정에서 테스트는 매우 중요한 역할을 합니다. 테스트를 통해 코드의 신뢰성을 높이고, 버그를 찾아 수정할 수 있으며, 코드의 품질을 높여 유지보수가 쉬운 애플리케이션을 만들 수 있습니다. 또한, 테스트를 통해 리팩토링을 수월하게 할 수 있고, 다른 개발자와 협업할 때 코드의 기능을 검증할 수 있습니다. 8.2. 스프링 부트 테스트 소개 스프링 부트는 다양한 테스트 라이브러리를 지원하며, 테스트를 쉽게 작성하고 실행할 수 있는 기능을 제공합니다. 스프링 부트 테스트는 스프링 프레임워크의 테스트 기능을 기반으로 하며, JUnit, Mockito, AssertJ 등 다양한 테스트 라이브러리를 사용할 수 있습니다. 스프링 부트 테스트는 애플리케이션 컨텍.. 2023. 5. 3.
[스프링 부트(SpringBoot)] 간단한 보안 적용 7. 간단한 보안 적용 7.1. 스프링 시큐리티 소개 스프링 시큐리티는 자바 기반의 웹 애플리케이션에서 인증(Authentication)과 인가(Authorization) 기능을 쉽게 구현할 수 있는 프레임워크입니다. 스프링 부트와 함께 사용하면 기본 설정이 자동으로 적용되어 더욱 간편하게 사용할 수 있습니다. 인증은 사용자가 누구인지 확인하는 과정이며, 인가는 사용자가 특정 리소스에 대해 접근 권한이 있는지 확인하는 과정입니다. 7.2. 기본 인증 및 인가 설정 스프링 부트에서 스프링 시큐리티를 사용하려면 먼저 의존성을 추가해야 합니다. pom.xml 파일이나 build.gradle 파일에 다음과 같이 의존성을 추가합니다. org.springframework.boot spring-boot-starter.. 2023. 5. 3.