Spring ApplicationContext:-
ApplicationContext is an interface for providing configuration information to an
application. There are multiple classes provided by springframework that
implements this interface and helps us use configuration information in
applications. ApplicationContext provides standard bean factory lifecycle
capabilities. An important capability which we will be using in below code
example is, class implementing ApplicationContext should scan for
ApplicationContextAware beans and invoke setApplicationContext by passing an
implementation of its instance.
Spring ApplicationContext container:-
This container adds more enterprise-specific functionality such as the ability
to resolve textual messages from a properties file and the ability to publish
application events to interested event listeners. This container is defined by
the org.springframework.context.ApplicationContext interface.
The ApplicationContext container includes all functionality of the BeanFactory
container, so it is generally recommended over the BeanFactory. BeanFactory can
still be used for lightweight applications like mobile devices or applet based
applications where data volume and speed is significant.
The most commonly used ApplicationContext implementations are:
1 FileSystemXmlApplicationContext: This container loads the definitions
of the beans from an XML file. Here you need to provide the full path of the XML
bean configuration file to the constructor.
2 ClassPathXmlApplicationContext This container loads the definitions of the beans from an XML file. Here you do not need to provide the full path of the XML file but you need to set CLASSPATH properly because this container will look bean configuration XML file in CLASSPATH.
3 WebXmlApplicationContext: This container loads the XML
file with definitions of all beans from within a web application.
A sample code for application context instantiation will look like this.
ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");
Hellojava obj = (HelloJava) context.getBean("hellojava");