Skip to content

Commit

Permalink
Merge pull request #4 from djkeh/feature/#3-boot-2.4
Browse files Browse the repository at this point in the history
  • Loading branch information
djkeh committed Jul 17, 2021
2 parents 508b48a + 6c42955 commit caa8d07
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 4 deletions.
5 changes: 4 additions & 1 deletion build.gradle
@@ -1,5 +1,5 @@
plugins {
id 'org.springframework.boot' version '2.5.2'
id 'org.springframework.boot' version '2.4.1'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
Expand All @@ -13,8 +13,11 @@ repositories {
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-properties-migrator'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
}

test {
Expand Down
Expand Up @@ -2,12 +2,19 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.core.metrics.jfr.FlightRecorderApplicationStartup;

@ConfigurationPropertiesScan
@SpringBootApplication
public class FastcampusSpringBootPracticeApplication {

public static void main(String[] args) {
SpringApplication.run(FastcampusSpringBootPracticeApplication.class, args);
SpringApplication application = new SpringApplication(FastcampusSpringBootPracticeApplication.class);
// application.setApplicationStartup(new FlightRecorderApplicationStartup());
application.setApplicationStartup(new BufferingApplicationStartup(1000));
application.run(args);
}

}
@@ -0,0 +1,29 @@
package com.fastcampus.springbootpractice.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConstructorBinding;
import org.springframework.boot.context.properties.bind.DefaultValue;
import org.springframework.boot.context.properties.bind.Name;
import org.springframework.boot.convert.DurationUnit;

import java.time.Duration;
import java.time.temporal.ChronoUnit;

@ConstructorBinding
@ConfigurationProperties("iam")
public class CustomProperties {

/**
* 와아 이건 configuration processor 테스트
*/
private final Duration duration;

public CustomProperties(@DefaultValue("1") @DurationUnit(ChronoUnit.MILLIS) @Name("duration") Duration duration) {
this.duration = duration;
}

public Duration getDuration() {
return duration;
}

}
@@ -1,6 +1,7 @@
package com.fastcampus.springbootpractice.service;

import com.fastcampus.springbootpractice.logic.Sort;
import com.fastcampus.springbootpractice.properties.CustomProperties;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

Expand All @@ -12,9 +13,10 @@ public class SortService {
private final Sort<String> sort;


public SortService(@Qualifier("bubbleSort") Sort<String> sort) {
this.sort = sort;
public SortService(@Qualifier("bubbleSort") Sort<String> sort, CustomProperties customProperties) {
System.out.println("프로퍼티: " + customProperties.getDuration().toMillis() + " ms");
System.out.println("구현체: " + sort.getClass().getName());
this.sort = sort;
}

public List<String> doSort(List<String> list) {
Expand Down
8 changes: 8 additions & 0 deletions src/main/resources/application.properties
@@ -1 +1,9 @@
logging.logback.rollingpolicy.file-name-pattern=rolling.txt
management.endpoints.web.exposure.include=*
spring.config.import=classpath:my[.properties],configtree:/Users/Uno/Documents/github/fastcampus-spring-boot-practice/src/main/resources/tree/
spring.profiles.active=test

#---

spring.config.activate.on-profile=fastcampus | test
iam.duration=5s
1 change: 1 addition & 0 deletions src/main/resources/my
@@ -0,0 +1 @@
iam.duration=10s
1 change: 1 addition & 0 deletions src/main/resources/tree/iam/duration
@@ -0,0 +1 @@
12s

0 comments on commit caa8d07

Please sign in to comment.