Standalone application context, accepting annotated classes as input - in particular {@link Configuration @Configuration}-annotated classes, but also plain {@link org.springframework.stereotype.Component @Component} types and JSR-330 compliantclasses using {@code javax.inject} annotations. Allows for registering classes one byone using {@link #register(Class)} as well as for classpath scanning using{@link #scan(String)}.
In case of multiple {@code @Configuration} classes, @{@link Bean} methods defined inlater classes will override those defined in earlier classes. This can be leveraged to deliberately override certain bean definitions via an extra {@code @Configuration}class.
See @ {@link Configuration} Javadoc for usage examples.
@author Chris Beams
@author Juergen Hoeller
@since 3.0
@see #register
@see #scan
@see AnnotatedBeanDefinitionReader
@see ClassPathBeanDefinitionScanner
@see org.springframework.context.support.GenericXmlApplicationContext