DB와 s3 연결 및 s3 관련 클래스 생성

Seung jun Cha·2024년 7월 17일
0

1. 의존성 추가

  • 우선 aws 사용과 파일 업로드 기능을 사용하기 위해 의존성을 추가한다.
    // aws
    implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

    // 파일 업로드를 위한 의존성 추가
    implementation 'commons-io:commons-io:2.6'
    implementation 'commons-fileupload:commons-fileupload:1.4'

2. 환경변수 설정

웹 애플리케이션과 DB를 연결해주어야 한다.
resources에 application.yml 또는 application.properties 파일을 생성하고 DB와 관련된 설정을 추가한다.

aws에 접근하기 위한 access-key와 secret-key 그리고 s3의 이름과 지역도 설정한다.

패스워드나 key 같은 민감한 정보는 환경변수로 저장하고 가져다 썼다.

  • 인텔리제이에 환경변수를 설정하는 방법은 다음과 같다.

  • modify options 을 클릭한다.

  • environment variables 항목의 아이콘을 클릭한다.

  • 이렇게 name, value 형식으로 설정한다.

  • spring.datasource.url: 데이터베이스 URL이다. DB의 종류와 위치에 따라 다르다.

  • spring.datasource.username: 데이터베이스 사용자 이름

  • spring.datasource.password: 데이터베이스 비밀번호

  • spring.datasource.driver-class-name: 데이터베이스 드라이버 클래스 이름. 역시 DB의 종류와 위치에 따라 다르다.

  • spring.jpa.hibernate.ddl-auto: Hibernate의 DDL(Data Definition Language) 자동 생성 전략이다. none, validate, - update, create, create-drop 중 하나를 사용할 수 있다.

  • spring.jpa.show-sql: JPA가 실행하는 SQL을 출력할지 여부를 정한다

  • spring.jpa.properties.hibernate.dialect: Hibernate가 사용하는 방언이다. 데이터베이스 종류에 따라 적절한 값을 사용해야한다.

3. StorageConfig 클래스 생성

  • AWS S3 스토리지 구성을 위한 설정 클래스인 StorageConfig 클래스는 api 모듈에 fileUpload - config 패키지 아래 생성했다.

  • @Value를 사용해서 yml에 설정된 값을 가져오고, aws에서 발급받은 access-key와 secret-key를 사용해 s3 기능을 사용할 수 있게 빈으로 등록하는 코드이다.

0개의 댓글