From what I have read we should use BeanFactory when we are only looking for a light weight IOC quoting from Pro Spring 2.5
Unless you are looking for a really lightweight IoC solution for your application, you should almost certainly use ApplicationContext.
Is there any other compelling reason to use BeanFactory over ApplicationContext?