Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung von Beispielen zum Laden statischer Ressourcen in Java

Detaillierte Erläuterung von Beispielen zum Laden statischer Ressourcen in Java

Y2J
Y2JOriginal
2017-05-10 10:28:512496Durchsuche

In diesem Artikel wird hauptsächlich die Verarbeitungsmethode für das statische Laden von Ressourcen in Spring Boot vorgestellt

1 Spring Boot bietet uns standardmäßig eine statische Ressourcenverarbeitung unter Verwendung verschiedener in WebMvcAutoConfiguration konfigurierter Eigenschaften.

Der Standardpfad für Spring Boot zum Laden von Dateien ist:

/META-INF/resources/

/resources/

/static/
/public/

Unter diesen Verzeichnissen können wir natürlich auch den Java-Code aus dem Spring-Boot-Quellcode sehen:

Die oben genannten sind alle Zuordnungspfade statischer Ressourcen,
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/",  "classpath:/static/", "classpath:/public/" };
Priorität

Die Reihenfolge lautet: META-INF/resources > resources > static > Alle lokalen statischen Ressourcen werden unter dem Klassenpfad konfiguriert, nicht unter der Webanwendung. Wenn der von Spring Boot bereitgestellte Sping MVC die Anforderungen nicht erfüllt, können Sie eine vollständig kontrollierte MVC-Konfiguration über eine Konfigurationsklasse (eine mit @Configuration annotierte Klasse) und die Annotation @EnableWebMvc erreichen.

Unter normalen Umständen erfüllt die automatische Konfiguration von Spring Boot natürlich die meisten unserer Anforderungen. Wenn Sie den Komfort von Spring Boot beibehalten und Ihre eigene zusätzliche Konfiguration hinzufügen möchten, können Sie eine Konfigurationsklasse definieren und

WebMvcConfigurerAdapter erben, ohne die Annotation @EnableWebMvc zu verwenden.

Wenn @EnableWebMvc verwendet wird, deckt es automatisch die offiziellen Verzeichnisse /static, /public, META-INF/resources, /resources und andere zum Speichern statischer Ressourcen ab.

2. Benutzerdefinierte Ressourcenzuordnung

Hier erwähnen wir die WebMvcConfigurerAdapter-Klasse, die es uns ermöglicht, zusätzliche Konfigurationen hinzuzufügen. Hier stellen wir einige häufig verwendete vor. Benutzerdefinierte Ressourcenzuordnung addResourceHandlers


Wenn wir beispielsweise das statische Ressourcenzuordnungsverzeichnis anpassen möchten, müssen wir nur die Methode addResourceHandlers neu schreiben.


Fügen Sie den Zuordnungspfad über addResourceHandler hinzu und geben Sie dann den Pfad über addResourceLocations an.

Wenn wir /myresource/* in /* ändern, was der Standardeinstellung entspricht, wird die Systemkonfiguration überschrieben. Sie können addResourceLocations mehrmals verwenden, um Verzeichnisse hinzuzufügen. Die zuerst hinzugefügte Priorität ist höher als die später hinzugefügt.

@Configuration
public class SimpleWebAppConfigurer extends WebMvcConfigurerAdapter {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/myresource/**").addResourceLocations("classpath:/myresource/");
    super.addResourceHandlers(registry);
  }
}

3. Externe Ressourcen verwenden

Wenn wir einen absoluten Pfad zum Ordner angeben möchten (z. B. H:/images/), dann müssen Sie es nur mit addResourceLocations angeben. wird über die

Konfigurationsdatei

konfiguriert. Der obige Code verwendet, um die Zuordnung statischer Ressourcen zu definieren. Tatsächlich bietet uns Spring Boot auch die Möglichkeit, die Anwendung direkt zu konfigurieren .properties (oder .yml)-Konfigurationsmethode.

// 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:
registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
Die Konfigurationsmethode lautet wie folgt:

Verwenden Sie spring.resources.static-locations, um den Pfad, auf den das Muster zeigt, neu zu definieren, und unterstützen Sie dabei classpath: und file: (bereits oben erläutert)

Beachten Sie, dass spring.mvc.static-path-pattern nur eine definieren kann und derzeit nicht mehrere durch Kommas getrennte Methoden unterstützt.

# 默认值为 /**
spring.mvc.static-path-pattern=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
spring.resources.static-locations=这里设置要指向的路径,多个使用英文逗号隔开
[Verwandte Empfehlungen]

1.

Kostenlose Java-Video-Tutorials

2. Umfassende Analyse von Java-Annotationen

3.

Alibaba Java-Entwicklungshandbuch

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen zum Laden statischer Ressourcen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn