Je décrirai la méthode de configuration d'application WEB de base de Spring MVC sous forme de mémorandum. Si vous définissez ce paramètre, vous pouvez créer une application comme Hello World.
J'ai moi-même de l'expérience dans la création d'applications chez Spring Boot dans le cadre de ma formation en interne. Je n'ai pas créé une application en la configurant à partir de zéro avec Spring MVC, alors je l'ai créée. C'était une très bonne opportunité, car la plupart de mon travail a été fait avec des choses qui étaient déjà installées et fonctionnaient.
À propos, les paramètres basés sur xml sont possibles, mais cette fois, nous allons faire des paramètres basés sur Java. Tout d'abord, je présenterai quelques exemples des classes de configuration de base.
WebAppInitializer
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] {ApplicationConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected FrameworkServlet createDispatcherServlet(WebApplicationContext servletAppContext) {
return new DispatcherServlet(servletAppContext);
}
}
La classe de paramètres (ApplicationConfig) à créer ultérieurement et le DispatcherServlet brut sont enregistrés. Si vous avez ajouté votre propre implémentation, vous pouvez la définir en modifiant ce paramètre.
ApplicationConfig
@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(basePackageClasses = Application.class)
class ApplicationConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
Il définit principalement l'interface de l'application qui est la cible de l'analyse des composants. Créez le jeu Application.class dans l'attribut basePackageClasses en tant qu'interface dans le package à analyser. De plus, @EnableAspectJAutoProxy est requis pour utiliser AspectJ.
WebMvcConfig
@Configuration
class WebMvcConfig extends WebMvcConfigurationSupport {
private static final String CHARACTER_ENCODING = "UTF-8";
private static final String VIEW_LOCATION = "/WEB-INF/view/";
private static final String[] PROPERTIES_LIST = { "classpath:/MessageResources" };
@Bean(name = "messageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames(PROPERTIES_LIST);
messageSource.setCacheSeconds(5);
messageSource.setDefaultEncoding(CHARACTER_ENCODING);
return messageSource;
}
@Bean(name = "messageResources")
public MessageResources messageResources() {
return new MessageResources();
}
@Override
protected void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp().prefix(VIEW_LOCATION).suffix("");
}
}
Ici, la ressource de message et ViewResolver sont principalement définis. Modifiez la valeur de réglage selon vos besoins.
Si vous utilisez jsp, le format de paramètre ci-dessus convient, mais si vous utilisez un moteur de modèle tel que Thymeleaf, vous devez modifier le paramètre. Les paramètres liés au téléchargement de fichiers (Résolveur Multipart) et aux tuiles sont également possibles ici, mais cette fois ce n'est pas un must, je vais donc l'omettre. (Article séparé
Il s'agit du paramètre principal côté Java. Après cela, j'écrirai web.xml autant que je le sens.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Spring-MVC</display-name>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/view/error/404.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/WEB-INF/view/error/405.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/view/error/500.jsp</location>
</error-page>
</web-app>
C'est simple simplement en définissant la page d'erreur. Je pense que vous pouvez ajouter des paramètres de filtre et d'écoute, la personnalisation de taglib, etc. ici au besoin. (Le filtre / écouteur peut également être défini dans Java Config)
Avec les paramètres ci-dessus, Hello World peut être créé en implémentant un simple contrôleur et jsp.
Je suis heureux. J'espère que cela vous sera utile lors de la création d'applications avec Spring MVC.
C'est tout.
Recommended Posts