spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBinder.java
/**
	 * Bind the specified {@code target} object using the configuration defined by the
	 * specified {@code annotation}.
	 * @param target the target to bind the configuration property sources to
	 * @param annotation the binding configuration
	 * @throws ConfigurationPropertiesBindingException if the binding failed
	 */
Bind the specified  target object using the configuration defined by the
specified  annotation.
@param target the target to bind the configuration property sources to
@param annotation the binding configuration
@throws ConfigurationPropertiesBindingException if the binding failed
Bind the specified target object using the configuration defined by the specified annotation . @param target the target to bind the configuration property sources to @param annotation the binding configuration @throws ConfigurationPropertiesBindingException if the binding failed
void bind(Object target, ConfigurationProperties annotation) {
		Binder binder = new Binder(this.configurationSources,
				new PropertySourcesPlaceholdersResolver(this.propertySources),
				this.conversionService);
		Validator validator = determineValidator(target);
		BindHandler handler = getBindHandler(annotation, validator);
		Bindable<?> bindable = Bindable.ofInstance(target);
		try {
			binder.bind(annotation.prefix(), bindable, handler);
		}
		catch (Exception ex) {
			String message = "Could not bind properties to '"
					+ ClassUtils.getShortName(target.getClass()) + "': "
					+ getAnnotationDetails(annotation);
			throw new ConfigurationPropertiesBindingException(message, ex);
		}
	}
void bind ( Object target , ConfigurationProperties annotation ) { Binder binder = new Binder ( this . configurationSources , new PropertySourcesPlaceholdersResolver ( this . propertySources ) , this . conversionService ) ; Validator validator = determineValidator ( target ) ; BindHandler handler = getBindHandler ( annotation , validator ) ; Bindable < ? > bindable = Bindable . ofInstance ( target ) ; try { binder . bind ( annotation . prefix ( ) , bindable , handler ) ; } catch ( Exception ex ) { String message = "Could not bind properties to '" + ClassUtils . getShortName ( target . getClass ( ) ) + "': " + getAnnotationDetails ( annotation ) ; throw new ConfigurationPropertiesBindingException ( message , ex ) ; } }
Bind the specified {@code target} object using the configuration defined by the
 specified {@code annotation}.
Bind the specified { @code target } object using the configuration defined by the specified { @code annotation } .