Spring, Spring MVC - 3 pytania i odpowiedzi ze szkolenia (luty 2015)

Pytania w tym artykule pojawiły się podczas szkolenia Tworzenie aplikacji internetowych z wykorzystaniem szkieletu aplikacyjnego Spring oraz Spring MVC realizowanego w dniach 9-13.02.2015r.


Czy spring wymaga serwera aplikacji - np jbossa?

Nie spring do działania nie wymaga serwera aplikacji. Zwykła aplikacja javowa używająca springa może być wywołana z poziomu linii poleceń, natomiast aplikacja webowa używająca frameworka spring potrzebuje kontenera serwletów np tomcat. W przypadku aplikacji webowej wymaganie dotyczące kontenera serwletów nie jest spowodowane przez samego springa, a przez specyfikę samej aplikacj webowej - działa na kontenerze serwletów także bez springa.

Jak spring wspiera transakcje bazodanowe?

Spring wspiera transakcje za pomocą api programistycznego klasy TransactionTemplate oraz deklaratywnie np za pomocą anotacji @Tranactional lub tagu ...

Czy da się dostać do serwisu springowego z poziomu zwykłego serwletu http ?

Tak, do serwisu springowego można się dostać poprzez statyczną metodę getWebApplicationContext(ServletContext sc) klasy WebApplicationContextUtils. Metoda ta zwraca instancję klasy WebApplicationContext, z której możemy pobrać interesujący nas serwis springowy. Uwaga: serwis ten musi być zadeklarowany na poziomie root contextu, nie może być zadeklarowany na pozimoe kontekstu dispatcher servletu.