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 :
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 deWebMvcConfigurerAdapter 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.
@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 JavaAnalyse complète des annotations Java. 3.
Manuel de développement Java AlibabaCe 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!