Exposing beans or components is making them available for other modules.
There are several ways to expose beans, but in most cases it is done by annotating the bean or its implementing class with @Exposed
.
Beans are exposed by pushing a special BeanDefinition
as far up the ApplicationContext
hierarchy as possible. Exposing beans has no impact on the number of bean instances that will get created, it simply makes them visible in the parent ApplicationContext
.
All modules have the same parent ApplicationContext
, so bean definitions in the parent are available to all modules.
See the reference documentation on Exposing beans for more details.