diff --git a/.gitignore b/.gitignore index 96b2554..fc80f9a 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ out/ ### custom ### /src/main/resources/db-application.properties +/src/main/resources/application-api-key.properties diff --git a/build.gradle b/build.gradle index 08c9f27..f03ea32 100644 --- a/build.gradle +++ b/build.gradle @@ -32,6 +32,9 @@ dependencies { runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' + + implementation 'com.amazonaws:aws-java-sdk-s3:1.12.609' + } tasks.named('test') { diff --git a/src/main/java/mvc/promiseme/common/NaverKey.java b/src/main/java/mvc/promiseme/common/NaverKey.java new file mode 100644 index 0000000..c8515b1 --- /dev/null +++ b/src/main/java/mvc/promiseme/common/NaverKey.java @@ -0,0 +1,19 @@ +package mvc.promiseme.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +@Getter +@AllArgsConstructor +@NoArgsConstructor +public class NaverKey { + + @Value("${ACCESS_KEY_ID}") + private String accessKey; + @Value("${KEY}") + private String key; +} diff --git a/src/main/java/mvc/promiseme/meeting/service/MeetingService.java b/src/main/java/mvc/promiseme/meeting/service/MeetingService.java new file mode 100644 index 0000000..25bbe08 --- /dev/null +++ b/src/main/java/mvc/promiseme/meeting/service/MeetingService.java @@ -0,0 +1,6 @@ +package mvc.promiseme.meeting.service; + +import org.springframework.web.multipart.MultipartFile; + +public interface MeetingService { +} diff --git a/src/main/java/mvc/promiseme/meeting/service/MeetingServiceImpl.java b/src/main/java/mvc/promiseme/meeting/service/MeetingServiceImpl.java new file mode 100644 index 0000000..16a8a45 --- /dev/null +++ b/src/main/java/mvc/promiseme/meeting/service/MeetingServiceImpl.java @@ -0,0 +1,16 @@ +package mvc.promiseme.meeting.service; + +import lombok.RequiredArgsConstructor; +import mvc.promiseme.common.NaverKey; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +@Service +@RequiredArgsConstructor +@Transactional +public class MeetingServiceImpl implements MeetingService { + + private final NaverKey naverKey; +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 31f649d..b56a98c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,2 @@ -spring.config.import=db-application.properties \ No newline at end of file +spring.config.import=db-application.properties +spring.profiles.include=api-key \ No newline at end of file diff --git a/src/test/java/mvc/promiseme/common/ApiTest.java b/src/test/java/mvc/promiseme/common/ApiTest.java new file mode 100644 index 0000000..d527d28 --- /dev/null +++ b/src/test/java/mvc/promiseme/common/ApiTest.java @@ -0,0 +1,22 @@ +package mvc.promiseme.common; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +@SpringBootTest +public class ApiTest { + + @Autowired + private NaverKey naverKey; + + @Test + public void testNaverKeyValues() { + assertNotNull(naverKey, "NaverKey instance should not be null"); + + System.out.println(naverKey.getAccessKey()); + System.out.println(naverKey.getKey()); + } +}