ApplicationContext включает в себя все функциональные возможности BeanFactory. Обычно рекомендуется использовать первый. Существуют некоторые ограниченные ситуации, например, в мобильных приложениях, где потребление памяти может быть критическим. В этих сценариях ios было бы оправданно использовать более легкий BeanFactory. Однако в большинстве корпоративных приложений ApplicationContext - это то, что вы хотите использовать.