2017-01-19 1 views
0

내 앱을 시작할 때 명령 줄에서 일부 속성을 가져 오려고합니다. 나는 정말로 많은 해결책을 시도하지만 nothings이 효과적이다. 나는 최후의 해결책 여기에스프링 부트 : ConfigurationProperties를 사용하여 프로그램 args를 얻는 방법

java -jar myjar.jar --test.property=something 

에게 @Value를 사용합니다 것은

홈페이지 일부 클래스 클래스

@SpringBootApplication 
public class TestApplication { 

    public static void main(String[] args) { 
     SpringApplicationBuilder builder = new SpringApplicationBuilder(TestApplication.class); 
     builder.run(args); 
    } 
} 

구성 클래스

입니다 16,
@Configuration 
@EnableConfigurationProperties(StringProperties.class) 
public class StringConfiguration { 

    @Autowired 
    private StringProperties stringProperties; 

    @Bean(name = "customBeanName") 
    public List<String> properties() { 
     List<String> properties = new ArrayList<>(); 

     properties.add(stringProperties.getString()); 

     return properties; 
    } 
} 

속성 클래스

@Component 
@ConfigurationProperties("test") 
public class StringProperties { 

    private String property; 

    public String getString() { 
     return property; 
    } 
} 

답변

4

옵스는 ..... 나는 당신의 code.It가 StringProperties 놓친 setProperty는 것입니다 테스트했습니다.

public void setProperty(String property) { 
     this.property = property; 
    } 
관련 문제