Spring9 Spring Boot - h2 데이터 베이스 사용하기 Spring Boot - h2 데이터 베이스 사용하기 1. 의존성 추가 (dependencies 에 아래 코드 추가) implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' 2. Spring Boot에서 연결 ( application.properties에 아래 코드 추가 ) spring.datasource.url=jdbc:h2:mem:test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password spring.h2.console.path=/h2.. 2023. 5. 24. Spring - Exception 처리하기 Spring - Exception 처리하기 1. 예외 코드를 적을 enum 생성 import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @RequiredArgsConstructor @Getter public enum ErrorCode { ALREADY_REGISTERED_USER(HttpStatus.BAD_REQUEST, "이미 가입된 회원입니다."); private final HttpStatus httpStatus; private final String detail; } 2. RuntimeException을 상속받아 예외 처리할 클래스 생성 public class Cust.. 2023. 3. 28. Spring - feign client 사용 Spring - feign client 사용 1. build.gradle 에 아래 의존성 추가 implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:2020.0.3" } } 2. 메인 클래스에 어노테이션 추가 @EnableFeignClients 참조 https://lemontia.tistory.com/1046 2023. 3. 28. Spring - swagger 적용해서 Api document 만들기 Spring - swagger 적용해서 Api document 만들기 1. build.gradle dependencies에 아래 코드 추가(의존성 추가) implementation 'io.springfox:springfox-boot-starter:3.0.0' implementation 'io.springfox:springfox-swagger-ui:3.0.0' 2. application.properties에 아래 코드 추가 - swagger 와 기존 스프링의 MVC 패턴을 매칭 하기 위함 spring.mvc.pathmatch.matching-strategy=ant_path_matcher - application.yml 의 경우 mvc: path match: matching-strategy:ant_path_.. 2023. 3. 24. Spring - Redis 연동 및 캐싱 Spring - Redis 연동 및 캐싱 1. build.gradle 의 dependencies에 아래 코드 추가 implementation 'org.springframework.boot:spring-boot-starter-data-redis' 2. application.yml 파일에 아래 코드 추가 redis: host: localhost // 해당 서버 ip port: 6379 // 포트 번호 3. 메인 클래스에 @EnableCaching 어노테이션 붙이기 @EnableCaching 4. Cache를 설정할 CacheConfig 클래스 생성 package com.example.dividend.config; import lombok.RequiredArgsConstructor; import org.spr.. 2023. 3. 21. Spring - 스케쥴링(Scheduling) Spring - 스케쥴링(Scheduling) Cron 표현식 - 초 / 분 / 시 / 일 / 월 / 요일 / 년 별표(*) : "모두"를 나타냄 쉼표(,) : 목록의 항목을 구분 ex) 5번째 필드(요일)에 "MON,WED,FRI"를 사용하면 월요일, 수요일, 금요일을 의미 대시(-) : 범위를 정의 ex) 2000–2010은 2000년에서 2010년 사이의 매년을 나타냄 퍼센트( %) : 백슬래시(\)로 이스케이프하지 않는 한 명령의 백분율 기호(%)는 개행 문자로 변경되고 첫 번째 % 이후의 모든 데이터는 명령에 표준 입력으로 전송 스케쥴링 1. main class 에 @EnableScheduling 어노테이션 붙이기 2. scheduler class에 @Component 어노테이션 붙이기 3. 스.. 2023. 3. 21. Spring Boot - jdbc를 이용하여 database 연동 (mysql) Spring Boot - jdbc를 이용하여 database 연동 (mysql) 데이터 베이스 연동 1. build.gradle에 아래 코드 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly group: 'mysql', name: 'mysql-connector-java', version: '8.0.26' 2. gradle 재실행 3. application.properties에 아래 정보 추가 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/project?serv.. 2023. 3. 15. Spring Initializr - 설정 Spring Initializr - 설정 1. 빌드 관리 도구 - 라이브러리 관리, 빌드 및 실행 Gradle (Maven 이후에 나옴) Maven 2. Spring Boot 버전 SnapShot : 새 기능을 가지고 나온 실험 버전 M(Milestone) : snapshot 보다 정리된 실험 버전 괄호 없음 : 정식 배포 버전 3. Project Metadata Group : 회사 도메인 Artifact : 프로젝트 Packaging - Jar : java archive - War : web application archive (Jar + 웹 관련 자원) 4. Dependencies - 프로젝트에서 사용할 라이브러리 선택 후 Generate -> zip 파일 해제 -> intelliJ에서 해당 파일의 .. 2023. 3. 14. Spring - Bean 설정 Spring - Bean 설정 1. 빈에 등록한 클래스 지정 @Component 2. 빈 우선순위 지정 @Primary 3. 빈 우선순위 직접 지정 - @Qualifier("클래스명 - 젤 앞문자 소문자") @Qualifier("discountByPayMethod") 2023. 3. 6. 이전 1 다음