Spring自动配置属性验证

时间:2016-03-01 12:30:14

标签: java spring spring-boot

我正在为spring boot创建自己的自动配置,以配置连接到我公司的REST ESB的rest客户端,应该有一些基本属性,如(application.properties或.yml)中的URL和凭据。 / p>

我在想:

  1. 我应该做验证吗?这样做是否正确?
  2. 如果我应该,在哪里验证(断言)是否提供了配置(例如URL)?它应该在自动配置类中(在使用@Bean的方法内部吗?)
  3. 我的代码是:

    @Configuration
    @ConditionalOnMissingBean(EsbClientService.class)
       @ConditionalOnClass({EsbClientService.class,EsbSpringClientServiceImpl.class})
    @EnableConfigurationProperties(EsbRestClientProperties.class)
    public class EsbClientAutoConfiguration {
    
    private static final Logger logger = LoggerFactory
            .getLogger(EsbClientAutoConfiguration.class);
    @Autowired
    private EsbRestClientProperties properties;
    
    @Bean
    public EsbClientService esbClientService(){
        //TODO  check all properties are set!
        logger.info("Auto Configure EsbClientService using EsbSpringClientServiceImpl");
        SimpleClientHttpRequestFactory clientFactory = new SimpleClientHttpRequestFactory();
        EsbResponseErrorHandler errorHandler = new EsbResponseErrorHandler();
        clientFactory.setReadTimeout(properties.getReadTimeout());
        clientFactory.setConnectTimeout(properties.getConnectTimeout());
        RestTemplate restTemplate = new RestTemplate(clientFactory);
        restTemplate.setErrorHandler(errorHandler);
        EsbClientService service = new EsbSpringClientServiceImpl(restTemplate, properties);
    
        logger.info("Auto Configure EsbClientService using EsbSpringClientServiceImpl Done");
        return service;
      }
    }
    

0 个答案:

没有答案
相关问题