Jestem całkiem nowy w Spring Framework, bawiłem się nim i składałem kilka przykładowych aplikacji w celu oceny Spring MVC do wykorzystania w nadchodzącym projekcie firmowym. Jak dotąd bardzo podoba mi się to, co widzę w Spring MVC, wydaje się bardzo łatwe w użyciu i zachęca do pisania klas, które są bardzo przyjazne dla testów jednostkowych.
Jako ćwiczenie piszę główną metodę dla jednego z moich projektów próbek / testów. Jedną z rzeczy, których nie jestem pewien, są dokładne różnice między BeanFactory
i ApplicationContext
- który jest odpowiedni do zastosowania w jakich warunkach?
Rozumiem, że to się ApplicationContext
rozszerza BeanFactory
, ale jeśli piszę prostą główną metodę, czy potrzebuję dodatkowej funkcjonalności, która ApplicationContext
zapewnia? I dokładnie, jaką dodatkową funkcję ApplicationContext
zapewnia?
Czy oprócz odpowiedzi na pytanie „których powinienem użyć w metodzie main ()”, czy istnieją jakieś standardy lub wytyczne dotyczące tego, które wdrożenie powinienem zastosować w takim scenariuszu? Czy moja metoda main () powinna być napisana tak, aby zależała od konfiguracji komponentu bean / aplikacji w formacie XML - czy jest to bezpieczne założenie, czy też blokuję użytkownika na czymś konkretnym?
I czy ta odpowiedź zmienia się w środowisku internetowym - czy którakolwiek z moich klas musiała wiedzieć o Springu, czy jest bardziej prawdopodobne, że będzie jej potrzebować ApplicationContext
?
Dziękuję za wszelką pomoc. Wiem, że na wiele z tych pytań prawdopodobnie znajduje się odpowiedź w podręczniku referencyjnym, ale ciężko mi znaleźć wyraźny podział tych dwóch interfejsów i zalet / wad każdego z nich bez czytania instrukcji za pomocą grzebienia o drobnych zębach.