Maison >Java >javaDidacticiel >Explication détaillée des exemples de chargement de ressources statiques en Java

Explication détaillée des exemples de chargement de ressources statiques en Java

Y2J
Y2Joriginal
2017-05-10 10:28:512589parcourir

Cet article présente principalement la méthode de traitement de chargement des ressources statiques dans Spring Boot. Les amis qui en ont besoin peuvent s'y référer

1. Spring Boot nous fournit par défaut un traitement des ressources statiques, en utilisant diverses propriétés configurées dans WebMvcAutoConfiguration.

Le chemin par défaut du Spring Boot pour charger les fichiers est :

/META-INF/resources/

/resources/

/static/
/public/

Sous ces répertoires, bien sûr, nous pouvons également voir le code Java du code source du Spring Boot :

Ce qui précède sont tous les chemins de mappage des ressources statiques,
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/",  "classpath:/static/", "classpath:/public/" };
Priorité

L'ordre est le suivant : META-INF/resources > resources > static > publicToutes les ressources statiques locales sont configurées sous le chemin de classe, pas sous l'application Web.

Si le Sping MVC fourni par Spring Boot ne répond pas aux exigences, vous pouvez obtenir une configuration MVC entièrement contrôlée via une classe de configuration (une classe annotée avec @Configuration) plus l'annotation @EnableWebMvc.

Bien entendu, dans des circonstances normales, la configuration automatique de Spring Boot répond à la plupart de nos besoins. Lorsque vous devez conserver la commodité fournie par Spring Boot et ajouter votre propre configuration supplémentaire, vous pouvez définir une classe de configuration et

hériter de

WebMvcConfigurerAdapter sans utiliser l'annotation @EnableWebMvc. Si @EnableWebMvc est utilisé, il couvrira automatiquement les répertoires officiels /static, /public, META-INF/resources, /resources et autres répertoires pour stocker les ressources statiques.

2. Mappage de ressources personnalisé Nous mentionnons ici la classe WebMvcConfigurerAdapter. Le remplacement des méthodes de cette classe nous permet d'ajouter Pour des configurations supplémentaires, nous en présenterons ici quelques-uns couramment utilisés.


Mappage de ressources personnalisé addResourceHandlers


Par exemple, si nous souhaitons personnaliser le répertoire de mappage de ressources statique, il nous suffit de réécrire la méthode addResourceHandlers.

Ajoutez le chemin de mappage via addResourceHandler, puis spécifiez le chemin via addResourceLocations.
@Configuration
public class SimpleWebAppConfigurer extends WebMvcConfigurerAdapter {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/myresource/**").addResourceLocations("classpath:/myresource/");
    super.addResourceHandlers(registry);
  }
}

Si nous remplaçons /myresource/* par /* qui est identique à la valeur par défaut, la configuration du système sera écrasée. Vous pouvez utiliser addResourceLocations plusieurs fois pour ajouter des répertoires. La priorité ajoutée en premier est supérieure à celle. ajouté plus tard.

3. Utiliser des ressources externes Si nous voulons spécifier un chemin absolu vers le dossier (comme H:/images/), alors seulement, vous devez le spécifier en utilisant addResourceLocations.

est configuré via le
// 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:
registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
fichier de configuration

Ce qui précède utilise du code pour définir le mappage des ressources statiques. En fait, Spring Boot nous offre également la possibilité de configurer directement l'application. Méthode de configuration .properties (ou .yml). La méthode de configuration est la suivante :

Utilisez spring.resources.static-locations pour redéfinir le chemin pointé par pattern, prenant en charge classpath: et file: (déjà expliqué ci-dessus)
# 默认值为 /**
spring.mvc.static-path-pattern=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
spring.resources.static-locations=这里设置要指向的路径,多个使用英文逗号隔开

Notez que spring.mvc.static-path-pattern ne peut en définir qu'un seul et ne prend actuellement pas en charge plusieurs méthodes séparées par des virgules.

[Recommandations associées]

1.

Tutoriels vidéo gratuits Java

2.

Analyse complète des annotations Java

. 3.

Manuel de développement Java Alibaba

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn