玖叶教程网

前端编程开发入门

SpringBoot 静态资源导入,首页控制,扩展 MVC

静态资源导入

  • 不懂就看文档,(2.1.5版的中文)
  • 默认情况下,Spring Boot 将在 classpath 或者 ServletContext 根目录下从名为 /static/public、/resources 或 /META-INF/resources)目录中服务静态内容。它使用了 Spring MVC 的 ResourceHttpRequestHandler,因此您可以通过添加自己的 WebMvcConfigurerAdapter 并重写 addResourceHandlers 方法来修改此行为。

  • 默认情况下,资源被映射到 /,但可以通过 spring.mvc.static-path-pattern 属性调整。比如,将所有资源重定位到 /resources/
spring.mvc.static-path-pattern=/resources/**
  • 您还可以使用 spring.resources.static-locations 属性来自定义静态资源的位置(使用一个目录位置列表替换默认值)。根 Servlet context path / 自动作为一个 location 添加进来。

首页(欢迎页面)

  • Spring Boot 支持静态和模板化(template)的欢迎页面。它首先在配置的静态内容位置(static、/public、/resources )中查找 index.html 文件。如果找不到,则查找 index 模板。如果找到其中任何一个,它将自动用作应用程序的欢迎页面。

模板引擎

  • 可以使用 Spring MVC 来服务动态 HTML 内容。Spring MVC 支持多种模板技术,包括 Thymeleaf、FreeMarker 和 JSP。当然,许多其他模板引擎也有自己的 Spring MVC 集成。

扩展SpringMVC

  • 如果您想保留 Spring Boot MVC 的功能,并且需要添加其他 MVC 配置(interceptor、formatter 和视图控制器等),可以添加自己的 WebMvcConfigurerAdapter 类型的 @Configuration 类,但不能带@EnableWebMvc 注解。如果您想自定义 RequestMappingHandlerMapping、RequestMappingHandlerAdapter 或者 ExceptionHandlerExceptionResolver 实例,可以声明一个 WebMvcRegistrationsAdapter 实例来提供这些组件。
  • 如果您想完全掌控 Spring MVC,可以添加自定义注解了 @EnableWebMvc 的 @Configuration 配置类。
  • 样例
@Configuration
public class Myconfig implements WebMvcConfigurer {
    //ViewResolver实现了视图解析器接口的类,我们就可以把它看做视图解析器
    @Bean
    public ViewResolver myViewResolver() {
        return new MyViewResolver();
    }

    //自定义了一个自己的视图解析器MyViewResolver
    public static class MyViewResolver implements ViewResolver {
        @Override
        public View resolveViewName(String viewName, Locale locale) throws Exception {
            return null;
        }
    }
}

自定义starter,就是@Configuration+@Conditionalxxx+@xxxProperties

作者:KittyGuy
链接:https://juejin.cn/post/6944633431477354527
来源:掘金

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言