热门关键字:
jquery > jquery教程 > html5 > Spring Boot Web开发与thymeleaf模板引擎

Spring Boot Web开发与thymeleaf模板引擎

380
作者:管理员
发布时间:2020/3/27 10:33:52
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=1121

  SpringBootWeb开发与thymeleaf模板引擎

  简介:

  使用Springboot应用,选中需要的模块,

  Spring已经默认将场景配置好了,只需在配置文件中少量配置就可以运行起来

  自己编写业务代码

  自动配置原理

  这个场景Springboot帮我们配置了什么、能不能修改呢?能修改哪些配置?

  xxxxxAutoConfiguration:帮我们给容器自动配置组件

  xxxproperties配置类来封装配置文件的内容

  Springboot对静态资源的映射规则

  @ConfigurationProperties(prefix="spring.resources",ignoreUnknownFields=false)

  publicclassResourcePropertiesimplementsResourceLoaderAware{

  //可以设置和静态资源有关的参数,缓存时间等

  }

  //webMVC的自动配置

  WebMvcAuotConfiguration:

  @Override

  publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){

  if(!this.resourceProperties.isAddMappings()){

  logger.debug("Defaultresourcehandlingdisabled");

  return;

  }

  IntegercachePeriod=this.resourceProperties.getCachePeriod();

  if(!registry.hasMappingForPattern("/webjars/**")){

  customizeResourceHandlerRegistration(

  registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/").setCachePeriod(cachePeriod));

  }

  StringstaticPathPattern=this.mvcProperties.getStaticPathPattern();

  //静态资源文件夹映射

  if(!registry.hasMappingForPattern(staticPathPattern)){

  customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern).addResourceLocations(this.resourceProperties.getStaticLocations()).setCachePeriod(cachePeriod));

  }

  }

  //配置欢迎页映射默认识别我们template下的index.html;页面

  @Bean

  publicWelcomePageHandlerMappingwelcomePageHandlerMapping(ResourcePropertiesresourceProperties){

  returnnewWelcomePageHandlerMapping(resourceProperties.getWelcomePage(),

  this.mvcProperties.getStaticPathPattern());

  }

  //配置喜欢的图标即我们网页标签最左边的图标

  @Configuration

  @ConditionalOnProperty(value="spring.mvc.favicon.enabled",matchIfMissing=true)

  publicstaticclassFaviconConfiguration{

  privatefinalResourcePropertiesresourceProperties;

  publicFaviconConfiguration(ResourcePropertiesresourceProperties){this.resourceProperties=resourceProperties;

  }

  @Bean

  publicSimpleUrlHandlerMappingfaviconHandlerMapping(){

  SimpleUrlHandlerMappingmapping=newSimpleUrlHandlerMapping();

  mapping.setOrder(Ordered.HIGHEST_PRECEDENCE+1);

  //所有**/favicon.ico

  mapping.setUrlMap(Collections.singletonMap("**/favicon.ico",faviconRequestHandler()));

  returnmapping;

  }

  @Bean

  publicResourceHttpRequestHandlerfaviconRequestHandler(){

  ResourceHttpRequestHandlerrequestHandler=newResourceHttpRequestHandler();

  requestHandler.setLocations(this.resourceProperties.getFaviconLocations());

  returnrequestHandler;

  }

  }

  静态资源的映射

  所有的/webjars/**都去classpath:/META-INF/resources/webjars/找资源;webjars:以jar包的方式引入静态资源;http://www.webjars.org/

  pom.xml依赖:

  <!--引入jquery-webjar-->在访问的时候只需要写webjars下面资源的名称即可

  <dependency>

  <groupId>org.webjars</groupId>

  <artifactId>jquery</artifactId>

  <version>3.3.1</version>

  </dependency>

  访问地址:localhost:8080/webjars/jquery/3.3.1/jquery.js

  "/**"访问当前项目的任何资源,都去(静态资源的文件夹)找映射(以下路径优先级从上往下)

  "classpath:/META-INF/resources/",

  "classpath:/resources/",

  "classpath:/static/",

  "classpath:/public/"

  "/":当前项目的根路径

  localhost:8080/abc===默认去静态资源文件夹里面找abc

  欢迎页;静态资源文件夹下的所有index.html页面;被"/**"映射;

  localhost:8080/找index页面

  所有的**/favicon.ico都是在静态资源文件下找;

  模板引擎





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:html
友荐云推荐