Simplify property validation sample and document need for static bean method

Closes gh-6627
This commit is contained in:
Andy Wilkinson
2016-09-20 21:33:22 +01:00
parent 43e020ef7b
commit be33827f49
2 changed files with 23 additions and 25 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,42 +16,36 @@
package sample.propertyvalidation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
import org.springframework.validation.Validator;
@SpringBootApplication
public class SamplePropertyValidationApplication {
public class SamplePropertyValidationApplication implements CommandLineRunner {
private final SampleProperties properties;
public SamplePropertyValidationApplication(SampleProperties properties) {
this.properties = properties;
}
@Bean
public Validator configurationPropertiesValidator() {
public static Validator configurationPropertiesValidator() {
return new SamplePropertiesValidator();
}
@Service
@Profile("app")
static class Startup implements CommandLineRunner {
@Autowired
private SampleProperties properties;
@Override
public void run(String... args) {
System.out.println("=========================================");
System.out.println("Sample host: " + this.properties.getHost());
System.out.println("Sample port: " + this.properties.getPort());
System.out.println("=========================================");
}
@Override
public void run(String... args) {
System.out.println("=========================================");
System.out.println("Sample host: " + this.properties.getHost());
System.out.println("Sample port: " + this.properties.getPort());
System.out.println("=========================================");
}
public static void main(String[] args) throws Exception {
new SpringApplicationBuilder(SamplePropertyValidationApplication.class)
.profiles("app").run(args);
new SpringApplicationBuilder(SamplePropertyValidationApplication.class).run(args);
}
}