Junior
156
Mida on vaja, et Spring MVC töötaks?
Vastus AI-lt
sobes.tech AI
Lai käivitada Spring MVC, on vaja:
- Veebiserver: Servlet konteiner, näiteks Apache Tomcat, Jetty või Undertow, et juurutada veebirakendus.
- Spring konfiguratsioon:
- XML-konfiguratsioon või Java-konfiguratsioon (annotatsioonide kasutamine), mis määratleb Spring komponendid (kontrollerid, teenused, hoidlad jne) ja nende suhted.
DispatcherServletkonfiguratsioonweb.xmlfailis või Java konfiguratsiooniga (AbstractAnnotationConfigDispatcherServletInitializer).DispatcherServleton Spring MVC frontkontroller, mis suunab päringud vastavatele töötlejatele.
- Maven/Gradle sõltuvused: Vajalikud sõltuvused lisada ehitustööriista faili (
pom.xmlvõibuild.gradle):spring-webmvc: Peamine sõltuvus Spring MVC jaoks.- Sõltuvused vaadete (Thymeleaf, JSP, FreeMarker jne) kasutamiseks.
- Validatsiooni sõltuvused (näiteks Hibernate Validator).
- JSON/XML töötlemise sõltuvused (näiteks Jackson või JAXB).
- Kontrollerid: Klassid annotatsioonidega
@Controllervõi@RestController, mis sisaldavad meetodeid annotatsioonidega@RequestMapping,@GetMapping,@PostMappingjne, et töödelda sisenevaid HTTP-päringuid.
Minimaalne Java-konfiguratsiooni näide:
// WebMvcConfig.java
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example.controller")
public class WebMvcConfig implements WebMvcConfigurer {
// Täiendav konfiguratsioon, kui vaja (näiteks ViewResolver seadistused)
}
DispatcherServleti Java-konfiguratsiooniga seadistamise näide:
// AppInitializer.java
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null; // Põhikonfiguratsioone ei ole
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebMvcConfig.class}; // Spring MVC konfiguratsioon
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"}; // Mappimine `DispatcherServlet`-ile põh URL-ile
}
}
Lihtne kontrolleri näide:
// HelloController.java
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
model.addAttribute("name", name);
return "hello"; // Vaate nimi (näiteks hello.jsp või hello.html)
}
}
Kokkuvõttes käivitub Spring MVC veebirakenduse (JAR või WAR) paigaldamisega, mis sisaldab kõiki vajalikke komponente ja konfiguratsioone, ning töötab veebiserveril. DispatcherServlet initsialiseerub käivitamisel ja hakkab töötlema sisenevaid veebipäringuid, suunates need vastavatele kontrollijatele mappimise alusel.