/** * Template method delegating to * {@link #configurePropertySources(ConfigurableEnvironment, String[])} and * {@link #configureProfiles(ConfigurableEnvironment, String[])} in that order. * Override this method for complete control over Environment customization, or one of * the above for fine-grained control over property sources or profiles, respectively. * @param environment this application's environment * @param args arguments passed to the {@code run} method * @see #configureProfiles(ConfigurableEnvironment, String[]) * @see #configurePropertySources(ConfigurableEnvironment, String[]) */ protected void configureEnvironment(ConfigurableEnvironment environment, String[] args) { if (this.addConversionService) { ConversionService conversionService = ApplicationConversionService .getSharedInstance(); environment.setConversionService( (ConfigurableConversionService) conversionService); } configurePropertySources(environment, args); configureProfiles(environment, args); }
@Override public void setConversionService(ConfigurableConversionService conversionService) { delegate.setConversionService(conversionService); }
@Override public void setConversionService(ConfigurableConversionService conversionService) { delegate.setConversionService(conversionService); }
public UserContextConfiguration(BeanFactory beanFactory) { String beanName = ConfigurableApplicationContext.ENVIRONMENT_BEAN_NAME; this.environment = beanFactory.getBean(beanName, Environment.class); // 获取 ID 为 conversionService 的 ConversionService Bean,实际为 DefaultFormattingConversionService ConfigurableConversionService conversionService = beanFactory.getBean("conversionService", ConfigurableConversionService.class); // 设置 ConversionService Bean ((ConfigurableEnvironment) environment).setConversionService(conversionService); }
@Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer(ConfigurableApplicationContext ctx, ConfigurableEnvironment env, ConfigurableConversionService conversionService) { env.setConversionService(conversionService); // have to manually set this now, doesn't pick up the bean defined in MangoRuntimeContextConfiguration ctx.getBeanFactory().setConversionService(conversionService); PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer(); configurer.setIgnoreUnresolvablePlaceholders(false); return configurer; }
@Override public void initialize(final ConfigurableApplicationContext ctx) { val conversionService = new DefaultFormattingConversionService(true); conversionService.setEmbeddedValueResolver(new CasEmbeddedValueResolver(ctx)); ctx.getEnvironment().setConversionService(conversionService); } }
@Override @SuppressFBWarnings("NIR_NEEDLESS_INSTANCE_RETRIEVAL") public void afterPropertiesSet() { val ctx = applicationContextProvider().getConfigurableApplicationContext(); val conversionService = new DefaultFormattingConversionService(true); conversionService.setEmbeddedValueResolver(new CasEmbeddedValueResolver(ctx)); ctx.getEnvironment().setConversionService(conversionService); if (ctx.getParent() != null) { var env = (ConfigurableEnvironment) ctx.getParent().getEnvironment(); env.setConversionService(conversionService); } val registry = (ConverterRegistry) DefaultConversionService.getSharedInstance(); registry.addConverter(zonedDateTimeToStringConverter()); } }
@Override protected void registerBeanPostProcessors( ConfigurableListableBeanFactory beanFactory ) { super.registerBeanPostProcessors( beanFactory ); // Set the conversion service on the environment as well ConfigurableEnvironment environment = getEnvironment(); if ( beanFactory.containsBean( CONVERSION_SERVICE_BEAN_NAME ) && beanFactory.isTypeMatch( CONVERSION_SERVICE_BEAN_NAME, ConfigurableConversionService.class ) ) { environment.setConversionService( beanFactory.getBean( CONVERSION_SERVICE_BEAN_NAME, ConfigurableConversionService.class ) ); } }
@Override protected void registerBeanPostProcessors( ConfigurableListableBeanFactory beanFactory ) { super.registerBeanPostProcessors( beanFactory ); // Set the conversion service on the environment as well ConfigurableEnvironment environment = getEnvironment(); if ( beanFactory.containsBean( CONVERSION_SERVICE_BEAN_NAME ) && beanFactory.isTypeMatch( CONVERSION_SERVICE_BEAN_NAME, ConfigurableConversionService.class ) ) { environment.setConversionService( beanFactory.getBean( CONVERSION_SERVICE_BEAN_NAME, ConfigurableConversionService.class ) ); } }