BeanFactory vs ApplicationContext
Difference between BeanFactory and ApplicationContext in Spring framework is a another frequently asked Spring interview question mostly asked to Java programmers with 2 to 4 years experience in Java and Spring. Both BeanFactory and ApplicationContext provides way to get bean from Spring IOC container by calling getBean("bean name"), but there are some difference in there working and features provided by them. One difference between bean factory and application context is that former only instantiate bean when you call getBean() method while ApplicationContext instantiate Singleton bean when container is started, It doesn't wait for getBean to be called. This interview questions is third in my list of frequently asked spring questions e.g. Setter vs Constructor Injection and What is default scope of Spring bean. If you are preparing for Java interview and expecting some Spring framework question, It’s worth preparing those questions. If you are new in Spring framework and exploring Spring API and classes than you would like check my post on some Spring utility functions e.g. calculating time difference with StopWatch and escaping XML special characters using Spring HtmlUtils. Coming back to BeanFactory vs ApplicationContext, let’s see some more difference between them in next section.