Spring Boot 설정 배열, Map, 임 의 값 및 전의 문자

본 고 는 Spring Boot 2 설정 배열, Map, 임 의 값 과 전의 문 자 를 소개 합 니 다.
목차
  • 개발 환경
  • 배열 설정 Array | List | Set
  • 배치 지도
  • 무 작위 값 설정
  • 전의 문자 설정
  • 개발 환경
  • Oracle JDK 1.8.0_201
  • Apache Maven 3.6.0
  • IntelliJ IDEA (Version 2018.3.3)

  • 배열 설정 Array | List | Set
  • Spring Boot 프로젝트 를 만 듭 니 다. 참고: IntelliJ IDEA 에서 Spring Boot 프로젝트 를 만 듭 니 다.
  • 생 성 된 pom 파일 은 다음 과 같 습 니 다. spring-boot-configuration-processorjunit 의존 도 를 추가 합 니 다.
  • 
    
        4.0.0
        
            org.springframework.boot
            spring-boot-starter-parent
            2.1.6.RELEASE
            
        
        tutorial.spring.boot
        spring-boot-configuration
        0.0.1-SNAPSHOT
        spring-boot-configuration
        Demo project for Spring Boot
    
        
            1.8
        
    
        
            
                org.springframework.boot
                spring-boot-starter
            
            
            
                org.springframework.boot
                spring-boot-configuration-processor
            
            
                org.springframework.boot
                spring-boot-starter-test
                test
            
            
            
                junit
                junit
                4.12
                test
            
        
    
        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                
            
        
    
    
  • 설정 파일 application.yml 에 다음 과 같은 내용 을 추가 합 니 다.
  • config:
      data:
        - A
        - B
        - C
        - A
    
  • 설정 Array, 설정 클래스 를 만 듭 니 다.
  • package tutorial.spring.boot.configuration.config;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties("config")
    public class Config {
    
        private String[] data;
    
        public String[] getData() {
            return data;
        }
    
        public void setData(String[] data) {
            this.data = data;
        }
    }
    
  • 단원 테스트
  • package tutorial.spring.boot.configuration.config;
    
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class ConfigTest {
    
        @Autowired
        private Config config;
    
        @Test
        public void testArray() {
            String[] expected = new String[]{"A", "B", "C", "A"};
            String[] actual = config.getData();
            Assert.assertEquals(expected.length, actual.length);
            for (int i = 0; i < expected.length; i++) {
                Assert.assertEquals(expected[i], actual[i]);
            }
        }
    }
    

    테스트 결과 약.
  • 설정 List 은 설정 파일 application.yml 을 수정 할 필요 가 없고 설정 클래스 Config 코드 를 수정 할 필요 가 없습니다.
  • package tutorial.spring.boot.configuration.config;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
    @Component
    @ConfigurationProperties("config")
    public class Config {
    
        private List data;
    
        public List getData() {
            return data;
        }
    
        public void setData(List data) {
            this.data = data;
        }
    }
    
  • 단원 테스트
  • @Test
    public void testList() {
        List expected = new ArrayList<>();
        Collections.addAll(expected, "A", "B", "C", "A");
        List actual = config.getData();
        Assert.assertEquals(expected.size(), actual.size());
        for (int i = 0; i < expected.size(); i++) {
            Assert.assertEquals(expected.get(i), actual.get(i));
        }
    }
    
  • 설정 Set 은 특히 조심해 야 합 니 다. Set 에서 요소 가 무질서 하고 중복 되 지 않 기 때문에 상기 설정 파일 내용 에 따라 생 성 된 Set 에는 실제 3 개의 요소 만 포함 되 어 있 고 설정 류 Config 코드 를 수정 합 니 다.
  • package tutorial.spring.boot.configuration.config;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import java.util.Set;
    
    @Component
    @ConfigurationProperties("config")
    public class Config {
    
        private Set data;
    
        public Set getData() {
            return data;
        }
    
        public void setData(Set data) {
            this.data = data;
        }
    }
    
  • 단원 테스트
  • @Test
    public void testList() {
        Assert.assertEquals(3, config.getData().size());
        Set expected = new HashSet<>(3);
        Collections.addAll(expected, "A", "B", "C");
        Set actual = config.getData();
        expected.forEach(i -> Assert.assertTrue(actual.contains(i)));
    }
    

    지도 설정
    무 작위 값 설정
    전의 문자 설정

    좋은 웹페이지 즐겨찾기