Java-Konfiguration mit Spring MVC

Spring MVC Java Config-Einstellungen

Ich werde die grundlegende Methode zur Einstellung der WEB-Anwendung von Spring MVC als Memorandum beschreiben. Wenn Sie diese Einstellung vornehmen, können Sie eine App wie Hello World erstellen.

Ich selbst habe Erfahrung in der Erstellung von Apps bei Spring Boot während des internen Trainings. Ich habe keine App erstellt, indem ich sie mit Spring MVC von Grund auf neu festgelegt habe, also habe ich sie erstellt. Dies war eine sehr gute Gelegenheit, da der Großteil meiner Arbeit mit Dingen erledigt wurde, die bereits eingerichtet waren und funktionierten.

Übrigens sind XML-basierte Einstellungen möglich, aber dieses Mal werden wir Java-basierte Einstellungen vornehmen. Zunächst werde ich einige Beispiele für die Grundeinstellungsklassen vorstellen.

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);
	}

}

Die später zu erstellende Einstellungsklasse (ApplicationConfig) und das unformatierte DispatcherServlet werden registriert. Wenn Sie eine eigene Implementierung hinzugefügt haben, können Sie diese festlegen, indem Sie diese Einstellung ändern.

ApplicationConfig

@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(basePackageClasses = Application.class)
class ApplicationConfig {

	@Bean
	public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
		return new PropertySourcesPlaceholderConfigurer();
	}
	
}

Hiermit wird hauptsächlich die Anwendungsschnittstelle festgelegt, die das Ziel des Komponentenscannens ist. Erstellen Sie die im Attribut basePackageClasses festgelegte Application.class als Schnittstelle im zu scannenden Paket. Außerdem ist @EnableAspectJAutoProxy erforderlich, um AspectJ zu verwenden.

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("");
	}

}

Hier werden hauptsächlich die Nachrichtenressource und ViewResolver festgelegt. Ändern Sie den Einstellwert entsprechend.

Wenn Sie jsp verwenden, ist das obige Einstellungsformat in Ordnung. Wenn Sie jedoch eine Vorlagen-Engine wie Thymeleaf verwenden, müssen Sie die Einstellung ändern. Hier sind auch Einstellungen zum Hochladen von Dateien (Multipart Resolver) und zu Kacheln möglich, aber diesmal ist dies kein Muss, daher werde ich darauf verzichten. (Schreiben wir in separaten Artikel)

Dies ist die Haupteinstellung auf der Java-Seite. Danach werde ich web.xml so viel schreiben, wie ich fühle.

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>

Es ist einfach, indem Sie die Fehlerseite einstellen. Ich denke, dass Sie hier nach Bedarf Filter- und Listener-Einstellungen, Taglib-Anpassungen usw. hinzufügen können. (Filter / Listener kann auch in Java Config eingestellt werden)

Mit den oben genannten Einstellungen kann Hello World durch Implementierung eines einfachen Controllers und von jsp erstellt werden.

Hello World!!.png

Ich bin glücklich. Ich hoffe, es wird hilfreich sein, wenn Sie Apps mit Spring MVC erstellen.

Das ist es.

Recommended Posts

Java-Konfiguration mit Spring MVC
Verwenden von Mapper mit Java (Spring)
Frühling Java
Implementieren Sie den Dateidownload mit Spring MVC
[Java] LINE-Integration mit Spring Boot
[Java Spring MVC] Entwicklungsbestätigungscontroller
Implementieren Sie die Bildeingabe / -ausgabe mit Spring MVC
[Java] Spring DI ③
Geben Sie einfach Bilder mit Spring MVC ein und geben Sie sie aus
Testen Sie den Controller mit Mock MVC im Spring Boot
Grundlegendes zum MVC-Framework mit serverseitiger Java 1/4 View
Grundlegendes zum MVC-Framework mit serverseitigem Java 3/4 Controller
Beispiel für die Ausgabe eines Parameterprotokollprotokolls Java & Spring MVC
[Java] Hallo Welt mit Java 14 x Spring Boot 2.3 x JUnit 5 ~
[JAVA] [Spring] [MyBatis] Verwenden Sie IN () mit SQL Builder
[Java] Artikel zum Hinzufügen einer Validierung mit Spring Boot 2.3.1.
Grundlegendes zum MVC-Framework mit dem serverseitigen Java 2/4 -Modell
Erstellen Sie mit Spring Boot 2.0 einen Spring Cloud Config Server mit Sicherheit
Installieren Sie Java mit Homebrew
Wechseln Sie die Plätze mit Java
Installieren Sie Java mit Ansible
Feder mit Kotorin --5 Aktuator
Bequemer Download mit JAVA
Schalten Sie Java mit direnv
Java-Download mit Ansible
Selbstgemachte Validierung mit Spring
Lass uns mit Java kratzen! !!
Erstellen Sie Java mit Wercker
Frühling mit Kotorin ―― 1. SPRING INITIALIZR
Mit Spring Boot herunterladen
Endian-Konvertierung mit JAVA
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
[Java] [Spring Boot] Geben Sie das Laufzeitprofil an - Spring Boot beginnend mit NetBeans
[Java] So lassen Sie die Federkonstruktorinjektion mit Lombok weg
Verwendungshinweis zu Spring Security: Zusammenarbeit mit Spring MVC und Boot
Erstellen Sie eine Java + Spring-Entwicklungsumgebung mit VirtualBox + Ubuntu (Xfce4).
Erstellen Sie mit Gradle ein Java-Multiprojekt
Erste Schritte mit Java Collection
MOCKEN Sie die Konstruktoren anderer Klassen mit Spring MVC + PowerMock + Junit
[Java / Kotlin] Escape-Verarbeitung (Bereinigung) für HTML5 mit Unbescape [Spring Boot]
Generieren Sie mit Spring Boot einen Barcode
Grundlegende Authentifizierung mit Java 11 HttpClient
Experimentieren wir mit der Java-Inline-Erweiterung
Führen Sie Batch mit Docker-Compose mit Java-Batch aus
[Vorlage] MySQL-Verbindung mit Java
Schreiben Sie Java Try-Catch mit Optional neu
Installieren Sie Java 7 mit Homebrew (Fass)
Spring RedisTemplate Config Timeout-Einstellung
[Java] JSON-Kommunikation mit Jackson
Implementieren Sie GraphQL mit Spring Boot
Java zum Spielen mit Function
Versuchen Sie eine DB-Verbindung mit Java
Spring + Gradle + Java Schnellstart
Frühling mit Kotorin --- 8. Aufbewahrungsschicht
Behandeln Sie die Java 8-Datums- und Uhrzeit-API mit Thymeleaf mit Spring Boot
Spring RestTemplate Config Timeout-Einstellung
Aktivieren Sie Java EE mit NetBeans 9
Beginnen Sie mit Spring Boot
[Java] JavaConfig mit statischer innerer Klasse
Versuchen Sie gRPC mit Java, Maven
Lassen Sie uns Excel mit Java betreiben! !!