栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

6.SpringBoot Web开发-webjars&静态资源映射规则(欢迎页和角标favicon.ico替换)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.SpringBoot Web开发-webjars&静态资源映射规则(欢迎页和角标favicon.ico替换)

文章总结:作为一个后端开发,在Springboot中怎样引入需要的js依赖以及常用的静态资源映射呢?SpringBoot已经给做好了自动化配置,使用时只需要按照默认的配置去放相应的文件,就可以快速上手。

1、创建SpringBoot web项目(参考之前文章-使用Spring Initializer快速创建Spring Boot项目)

​ 1)创建SpringBoot 应用,选择需要的模块;

​ 2)SpringBoot 已经默认配置好相应的场景,只需指定少量配置就可以运行;

​ 3)编写业务代码

2、SpringBoot web的自动配置会加载那些配置

xxxxAutoConfiguration:给容器中自动配置组件;xxxxProperties:配置类来封装配置文件的内容;

@Configuration(
    proxyBeanMethods = false
)
@ConditionalOnWebApplication(
    type = Type.SERVLET
)
@ConditionalOnClass({Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class})
@ConditionalOnMissingBean({WebMvcConfigurationSupport.class})
@AutoConfigureOrder(-2147483638)
@AutoConfigureAfter({DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class, ValidationAutoConfiguration.class})
public class WebMvcAutoConfiguration { 
//Web 加载的配置组件
@Deprecated
@ConfigurationProperties(
    prefix = "spring.resources",
    ignoreUnknownFields = false
)
public class ResourceProperties extends Resources {
// 配置文件可以设置和静态资源有关的参数,缓存时间等

3、SpringBoot对静态资源的映射规则;

​ 1)添加静态资源文件映射 :WebMvcAutoConfiguration 中的addResourceHandlers 方法

public void addResourceHandlers(ResourceHandlerRegistry registry) {
    if (!this.resourceProperties.isAddMappings()) {
        logger.debug("Default resource handling disabled");
    } else {
        this.addResourceHandler(registry, "/webjarsfavicon.ico 都是在静态资源文件下找(下面的源码Springboot 版本为1.5.3) 
//配置喜欢的图标
@Configuration
@ConditionalOnProperty(value = "spring.mvc.favicon.enabled", matchIfMissing = true)
public static class FaviconConfiguration {

    private final ResourceProperties resourceProperties;

    public FaviconConfiguration(ResourceProperties resourceProperties) {
        this.resourceProperties = resourceProperties;
    }

    @Bean
    public SimpleUrlHandlerMapping faviconHandlerMapping() {
        SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
        mapping.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
        //所有  **/favicon.ico 
        mapping.setUrlMap(Collections.singletonMap("**/favicon.ico",
                                                   faviconRequestHandler()));
        return mapping;
    }

    @Bean
    public ResourceHttpRequestHandler faviconRequestHandler() {
        ResourceHttpRequestHandler requestHandler = new ResourceHttpRequestHandler();
        requestHandler
            .setLocations(this.resourceProperties.getFaviconLocations());
        return requestHandler;
    }

}

总结:之前只会从静态文件夹里引入常用的全框架js,通过此篇文章知道了,还可以通过maven引入;想要配置欢迎页和角标都是在默认的静态文件下的index.heml和favicon.ico 。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号