From cbf4f49fd6063d779951cdb9c6d1a8db571ebfe2 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Mon, 24 Jul 2023 20:43:05 +0900 Subject: [PATCH] #38 hexagonal: banking service - init --- bobby-pay/banking-service/build.gradle | 34 +++++++++++++++++++ .../example/banking/BankingApplication.java | 12 +++++++ .../org/example/banking/SwaggerConfig.java | 31 +++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 bobby-pay/banking-service/build.gradle create mode 100644 bobby-pay/banking-service/src/main/java/org/example/banking/BankingApplication.java create mode 100644 bobby-pay/banking-service/src/main/java/org/example/banking/SwaggerConfig.java diff --git a/bobby-pay/banking-service/build.gradle b/bobby-pay/banking-service/build.gradle new file mode 100644 index 00000000..acdafbaa --- /dev/null +++ b/bobby-pay/banking-service/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'com.palantir.docker' version '0.25.0' +} + +group 'org.example.banking' +version '1.0.0' + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springframework.boot:spring-boot-starter-actuator' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'javax.persistence:javax.persistence-api:2.2' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.jetbrains:annotations:23.0.0' + + implementation project(path: ':common') + + testImplementation 'junit:junit:4.13.1' + + runtimeOnly 'com.h2database:h2' + runtimeOnly 'mysql:mysql-connector-java' +} + +docker { + println(tasks.bootJar.outputs.files) + name rootProject.name + '-' + project.name + ":" + version + dockerfile file('../Dockerfile') + files tasks.bootJar.outputs.files + buildArgs(['JAR_FILE': tasks.bootJar.outputs.files.singleFile.name]) +} \ No newline at end of file diff --git a/bobby-pay/banking-service/src/main/java/org/example/banking/BankingApplication.java b/bobby-pay/banking-service/src/main/java/org/example/banking/BankingApplication.java new file mode 100644 index 00000000..31c1e462 --- /dev/null +++ b/bobby-pay/banking-service/src/main/java/org/example/banking/BankingApplication.java @@ -0,0 +1,12 @@ +package org.example.banking; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class BankingApplication { + + public static void main(String[] args) { + SpringApplication.run(BankingApplication.class, args); + } +} diff --git a/bobby-pay/banking-service/src/main/java/org/example/banking/SwaggerConfig.java b/bobby-pay/banking-service/src/main/java/org/example/banking/SwaggerConfig.java new file mode 100644 index 00000000..7e94e8f4 --- /dev/null +++ b/bobby-pay/banking-service/src/main/java/org/example/banking/SwaggerConfig.java @@ -0,0 +1,31 @@ +package org.example.banking; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + + @Bean + public Docket restAPI() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(RequestHandlerSelectors.basePackage("org.example.banking")) + .paths(PathSelectors.any()) + .build(); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .build(); + } +} \ No newline at end of file