In the previous post we saw how the ApplicationContext as the more powerful container in Spring. In a BeanFactory based environment Spring provides us with the BeanFactoryAware interface to help a bean get access to its loading BeanFactory container.Similarly for the application context
we have the ApplicationContextAware interface.
we have the ApplicationContextAware interface.
public class SimpleCar implements ICar, ApplicationContextAware { @Override public String describe() { return "Car is an empty car"; } @Override public void setApplicationContext(ApplicationContext appContext) throws BeansException { System.out.println("received the app context " + appContext); } }The bean definition for the same is as below:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" > <bean id ="bustedCar" class="com.start.SimpleCar"/> </beans>On testing the code:
public static void main(String[] args) throws FileNotFoundException { final ApplicationContext applicationContext = new ClassPathXmlApplicationContext( "beans.xml"); SimpleCar car = (SimpleCar) applicationContext.getBean("bustedCar"); System.out.println(car.describe()); }The output indicates that the bean was assigned with the ApplicationContext:
May 12, 2012 11:56:49 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1027b4d: startup date [Sat May 12 23:56:49 IST 2012]; root of context hierarchy May 12, 2012 11:56:50 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [beans.xml] May 12, 2012 11:56:51 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in org.springframework.beans.factory. support.DefaultListableBeanFactory@d80be3: defining beans [messager,bustedCar]; root of factory hierarchy received the app context org.springframework.context.support.ClassPathXmlApplicationContext@1027b4d: startup date [Sat May 12 23:56:49 IST 2012]; root of context hierarchy Car is an empty car
No comments:
Post a Comment