Pokud ve Vaší webové aplikaci nechcete používat vůbec žádný XML konfigurační soubor (web.xml, Spring konfigurace apod.), pak můžete buď použít Spring Boot (viz. níže), nebo vytvořit tuto třídu:
public class MyAppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { WebApplicationContext context = getContext(); servletContext.addListener(new ContextLoaderListener(context)); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/*"); } private AnnotationConfigWebApplicationContext getContext() { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.setConfigLocation("com.test.config"); return context; } }
V této třídě jsme vytvořili root a servlet context Springu. Jedná se o alternativu definování Dispatcher servletu a ContextLoaderListener uvnitř web.xml souboru. Dispatcher servlet se nastartuje při startu webové aplikace a bude zachytávat všechny URL v aplikaci. Root context Springu bude hledat v balíčku com.test.config třídy s anotací @Configuration, které použije při vytvoření Spring contextu. Taková třída může vypadat takto:
@Configuration @EnableWebMvc @ComponentScan(basePackages = "com.test") public class WebMvcConfig extends WebMvcConfigurerAdapter { }
Anotace @EnableWebMvc je ekvivalentem <mvc:annotation-driven /> v XML. Nyní už můžete uvnitř balíčku com.test vytvářet controllery atd.
Rozšířený příklad (spolu s Hibernate a Spring Data JPA) je k dispozici na mém GitHub účtu: https://github.com/jirkapinkas/example-spring-annotations
Další možností je použít Spring Boot, který má třídu SpringBootServletInitializer, která implementuje interface WebApplicationInitializer. Příklad (opět spolu s Hibernate a Spring Data JPA) naleznete opět na mém GitHub účtu: https://github.com/jirkapinkas/example-spring-boot
Zdroje:
Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek
Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.
Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.