SpringBoot自动配置的模版引擎

这篇具有很好参考价值的文章主要介绍了SpringBoot自动配置的模版引擎。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

目录

一、Thymeleaf

1.什么是Thymeleaf?

2.什么是模版引擎?

3.JAVA中的SPI(Service Provider interface)机制?

4.META-INF目录是干嘛用的?

总结


前言


一、Thymeleaf

1.什么是Thymeleaf?

        hymeleaf是试用于Web和独立环境的现代服务器端Java模版引擎

  1. 目的:它的主要目标是为您的开发工作流程带来优雅自然的模版-HTML可以再浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强合作
  2. Thymeleaf拥有适用于Spring Framework模块,与喜欢的工具的大量集成以及插入我自己的功能,对于HTML5JVM Web来来说,Thymelef是理想的选择--尽快它还有很多工作要做
  3. 优点:
    1. 动静分离:Thymeleaf选用html作为模版页,这是任何一块其他模版引擎做不到的,它能使用html通过一些特定标签语法代表其含义,但是未破坏文件接口,即使没有网络,不通过后端渲染也能在浏览器中打开,大大方便界面的测试和修改
    2. Thymeleaf提供标准和spring标准两种语言,可以直接套用模版实现JSTL,OGNL表达式效果,避免每天套模版,改JSTL,改标签的困扰,同事开发人员也可以拓展和创建自定义的方言
      1. JSTL:是java标准标签库,是jsp标准集合,封装了jsp应用的通用核心功能,根据JSTL标签所提供的功能,可以将其分为五个类别:核心标签,格式化标签,SQL标签,XML标签,JSTL函数
      2. OGNL:是对象图导航语言,是一种强大的表达式语言,它相当于一个上下文(OgnlContext)概念,就是一个Map结构(教师 老师 学生)

2.什么是模版引擎?

        (在这里指的是用于Web开发的模版引擎)是为了使用户界面于业务数据(内容)分离而产生的,他可以生成特定格式的文档.用于网站的模版引擎就会生成一个标准的html文档.从字面上理解末班引擎,,最重要的就是模版二字,这个意思就是做好一个模版后套入相对应位置的数据,最终通过Htmdull

      模版引擎的理解:可以形象的做一个比喻:开会!相信你在上学初高中的时候每次开会都要提取布置场地,拿上板凳,收拾场地,而你让了大学之后每次开会再也并不用去机操场了,每次开会都去学校的大会议室,桌子板凳,桌子板凳音响主席团齐全,来个人即可,还可以复用.模拟引擎的功能就类似于我们会议室开会一样开箱即用,将模版设计好之后直接填充数据即可而不需要重新设计整个页面.提高页面和代码的复用性.

3.JAVA中的SPI(Service Provider interface)机制?

  1. 是一种软件设计模式,用与在应用程序中动态的发现和加载组件.SPI的思想是:定义一个接口或者抽象类,然后通过在classpath中定义实现该接口的类来实现对组件的动态发现和加载.
  2. SPI的主要目的是解决在应用程序中使用可插拔组件的问题.比如,一个应用程序可能需要使用不同的日志框架或者数据库连接池,但是这些组件的选择可能取决于运行时的条件.通过使用SPI,应用程序可以在运行时发现并加载适当的组件,而无需在代码中硬编码这些组件的实现类
  3. 在java中SPI的实现方式是通过在META-INF/services目录下创建一个以服务接口全限定名为名字的文件,文件中包含实现该类的全限定名.当应用程序启动时,java的SPI机制会自动扫描classpath中的这些文件,并根据文件中指定的类名来加载实现类
  4. 通过使用SPI,应用程序可以实现更灵活,可拓展的结构,同事也可以避免硬编码依赖关系和增加代码的可维护性

4.META-INF目录是干嘛用的?

  1. jar文件:开发中可以直接用java class文件来运行程序,但是不太方便,所以出现了jar文件来提供发布和运行,jar文件实际上是class文件的zip压缩存档,有很多工具都可以操控这种格式的文件,所以jar文件本身并不能表达应用程序的便签信息.
  2. 为了提供存档便签信息,出现了Manifest.mf文件,jar文件中有一个特定的目录来存放标签信息:META-INF目录,主要应关注其中
  3. 一个名叫manifest.mf的文件,它包含了jar文件的内容描述,在应用程序运行时向JVM提供应用程序的信息
  4. META-INF相当于一个信息包,目录中的文件和目录获得Java 2 平台的认可与解释,用来配置应用程序,扩展程序,类加载器和服务manifest.mf文件,在用jar打包时自动生成
  5. jar文件中都有一个默认产生的META-INF目录和其中的manifest.mf文件 使用jar命令可以直接产生META-INF目录和manifest.mf文件SpringBoot自动配置的模版引擎SpringBoot自动配置的模版引擎
  6. 说白了META-INF目录实际上就是描述jar文件中的信息的一个目录,目录中除了manifest.mf文件之外其实还是可以配置很多信息的,这些文件都是在应用程序运行的过程中向其提供jar文件的内容描述的.

 

 

总结

参考和学习文档:

Thymeleaf一篇就够了_Big sai的博客-CSDN博客

https://blog.csdn.net/qq_38449518/article/details/82414069?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168619468216800225547647%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168619468216800225547647&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-82414069-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=meta-inf%E6%98%AF%E4%BB%80%E4%B9%88%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187

感谢尚硅谷spring6的文字教程文章来源地址https://www.toymoban.com/news/detail-475838.html

到了这里,关于SpringBoot自动配置的模版引擎的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot-静态资源目录的配置

    配置节点:spring.web.resources.static-locations 值为要配置的静态资源存放目录 如: 以上配置中,设置静态资源目录为src/main/resources/test/目录。 假如在test目录下存放文件test.txt,程序启动后,便能通过浏览器访问ip:port/test.txt访问文件。 新建WebMvcConfig类,继承WebMvcConfigurationSupport类

    2024年02月16日
    浏览(43)
  • WordPress主题开发 — 模版循环(条件判断、多个循环、新建查询和文章循环)

            循环是 WordPress 通过主题模板文件输出文章的默认机制 。在循环中,WordPress 遍历当前页面获取到的所有文章,然后使用主题中的模版标签将其格式化并输出。 我们可以用 WordPress 循环来做很多事情,例如: 在网站首页显示多个文章模块 在文章详情页面显示内容

    2024年02月13日
    浏览(51)
  • 微服务系列文章之 Springboot应用在k8s集群中配置的使用

    Docker部署其实也可以再docker run或者dockerfile里面,将配置文件目录映射到宿主机,然后通过宿主机配置文件修改参数。 很多时候Dockerfile文件中需要定义变量,减少对Dockerfile文件的修改,在编译的时候从外部传入参数,这种情况可使用  ARG 参数,然后通过 --build-arg 进行赋值。

    2024年02月16日
    浏览(39)
  • 03 SpringBoot实战 -微头条之首页门户模块(跳转某页面自动展示所有信息+根据hid查询文章全文并用乐观锁修改阅读量)

    需求描述: 进入新闻首页portal/findAllType, 自动返回所有栏目名称和id 接口描述 url地址:portal/findAllTypes 请求方式:get 请求参数:无 响应数据: 成功 代码编写 PortalController : TypeService: TypeServiceImpl: 达到的效果是,不需要任何参数, 只要访问portal/findAllType, 就返回news_type表中的所有

    2024年01月24日
    浏览(46)
  • POSTGRESQL 关于2023-08-14 数据库自动启动文章中使用KILL 来进行配置RELOAD的问题解释...

    开头还是介绍一下群,如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis ,SQL SERVER ,ORACLE,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群(共1170人左右 1 + 2 + 3) 首先道歉,昨天关于P

    2024年02月12日
    浏览(51)
  • Camunda 7工作流引擎 API 以及与Springboot集成实现工作流配置全纪录

    项目中需要用到工作流引擎来设计部分业务流程,框架选型最终选择了 Camunda7,关于 Camunda以及 Activity 等其他工作流 引擎的介绍及对比不再介绍,这里只介绍与现有Springboot项目的集成以及具体使用及配置 流程(PROCESS): 通过工具建模最终生成的BPMN文件,里面有整个流程的定

    2024年02月10日
    浏览(58)
  • SpringBoot 自动配置--常用配置

    😀前言 本篇博文是关于SpringBoot 自动配置的一些分享,希望能够帮助到您😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉 💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的

    2024年02月14日
    浏览(32)
  • 【SpringBoot】SpringBoot的自动配置源码解析

    SpringBoot相对于SSM来说,主要的优点就是简化了配置,不再需要像SSM哪有写一堆的XML配置,这些XML配置在大项目上会成为一种累赘,使得后期项目难以维护。 SpringBoot的出现,使得开发者不再关注于配置,能够更加专注于业务的开发,这得益于SpringBoot的自动配置。 SpringBoot的自

    2024年02月16日
    浏览(33)
  • Linux 学习目录合集【文章索引】

    前言:本内容为笔者自学笔记内容。 本文中的操作环境:腾讯云服务器:CentOS 7.6 64bit 学习阶段规划: Linux 基本操作【基本命令、vim、makefile使用等】 Linux 系统【进程:概念、控制、通信;IO基础;多线程等】 Linux 网络【网络基础、套接字编程、IO高级等】 学习集: C++ 入门

    2024年02月07日
    浏览(52)
  • FlinkCDC 菜鸟教程-文章目录

    背景篇 环境篇  准备一台已经安装了 Docker 的 Linux 或者 MacOS 电脑。 准备教程所需要的组件 版本对应关系 安装 环境检查 工具篇 flink kibana 概念篇 Docker 介 绍 Docker Compose 介 绍 Kibana介 绍 实践篇 演示: Mysql CDC 导入 Elasticsearch 启动服务 准备数据 在 Flink SQL CLI 中使用 Flink DDL 创建

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包