Configuration Java avec Spring MVC

Paramètres Spring MVC Java Config

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.

Hello World!!.png

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

Configuration Java avec Spring MVC
Utilisation de Mapper avec Java (Spring)
Spring Java
Implémenter le téléchargement de fichiers avec Spring MVC
[Java] Intégration LINE avec Spring Boot
[Java Spring MVC] Contrôleur de confirmation de développement
Implémenter l'entrée / sortie d'image avec Spring MVC
[Java] Spring DI ③
Juste des images d'entrée et de sortie avec Spring MVC
Testez le contrôleur avec Mock MVC dans Spring Boot
Comprendre le framework MVC avec Java 1/4 View côté serveur
Comprendre le framework MVC avec le contrôleur Java 3/4 côté serveur
Demander un exemple de sortie du journal des paramètres Java et Spring MVC
[Java] Hello World avec Java 14 x Spring Boot 2.3 x JUnit 5 ~
[JAVA] [Spring] [MyBatis] Utiliser IN () avec SQL Builder
[Java] Article pour ajouter une validation avec Spring Boot 2.3.1.
Comprendre le framework MVC avec le modèle Java 2/4 côté serveur
Créez un serveur Spring Cloud Config en toute sécurité avec Spring Boot 2.0
Installez java avec Homebrew
Changer de siège avec Java
Installez Java avec Ansible
Ressort avec actionneur Kotorin --5
Téléchargement confortable avec JAVA
Changer java avec direnv
Téléchargement Java avec Ansible
Validation personnalisée avec Spring
Raclons avec Java! !!
Construire Java avec Wercker
Printemps avec Kotorin ―― 1. INITIALISATION PRINTEMPS
Télécharger avec Spring Boot
Conversion Endian avec JAVA
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
[Java] [Spring Boot] Spécifier le profil d'exécution --Spring Boot à partir de NetBeans
[Java] Comment omettre l'injection de constructeur de ressort avec Lombok
Mémo d'utilisation de Spring Security: coopération avec Spring MVC et Boot
Créer un environnement de développement Java + Spring avec VirtualBox + Ubuntu (Xfce4)
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
MOCK les constructeurs d'autres classes avec Spring MVC + PowerMock + Junit
[Java / Kotlin] Traitement d'échappement (désinfection) pour HTML5 avec unbescape [Spring Boot]
Générer un code à barres avec Spring Boot
Authentification de base avec Java 11 HttpClient
Expérimentons l'expansion en ligne Java
Exécuter un lot avec docker-compose avec Java batch
[Template] Connexion MySQL avec Java
Réécrire Java try-catch avec facultatif
Installez Java 7 avec Homebrew (cask)
Paramètre Spring RedisTemplate Config Timeout
[Java] Communication JSON avec jackson
Implémenter GraphQL avec Spring Boot
Java pour jouer avec Function
Essayez la connexion DB avec Java
Spring + Gradle + Java Quick Start
Spring with Kotorin --- 8. Couche de référentiel
Gérez l'API de date et d'heure Java 8 avec Thymeleaf avec Spring Boot
Paramètre Spring RestTemplate Config Timeout
Activer Java EE avec NetBeans 9
Démarrez avec Spring Boot
[Java] JavaConfig avec classe interne statique
Essayez gRPC avec Java, Maven
Exploitons Excel avec Java! !!