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.