【SpringBoot 2】(六)配置文件 web开发相关(一)

简介: 【SpringBoot 2】(六)配置文件 web开发相关(一)

1 配置文件

 之前说过,配置文件大致分两种类型:properties、yaml。其中properties是最常规的配置文件类型:使用键值对等号的格式来对各种参数进行配置,后缀为.properties,在这里就不过多的进行赘述了。下面说一下yaml文件。


1.1 yaml文件

  YAML全称YAML Ain’t(isn’t) Markup Language,是一种直观的能够被电脑识别的数据序列化格式,YAML以数据为核心,比传统的xml方式更加简洁。体现在书写的格式简洁,表达的层级明显,非常适合用来做以数据为中心的配置文件。yaml文件的后缀为.yml或者.yaml


1.1.1 基本语法

使用K: V进行键值映射,V前要有空格作为分隔符

区分大小写

使用缩进表示层级关系

语法层面使用缩进不能用Tab键,要手敲空格。空格数不重要,只要是相同的空格数就代表相同的层级关系,所以相同层级的缩进空格要相同。但是实际操作的时候还是使用tab键,不会出现问题

注解使用#字符

1.1.2 数据格式

 yaml文件的数据格式可以使用如下的的格式约束,用注解注掉的就是这种类型的行内写法,可以自行选择习惯的形式进行使用。其中注意的是字符串类型的数据可以不用引号引起来,但是要是使用引号的话,单引号会将转义字符作为字符串进行输出,但是双引号会将转义字符转义之后输出,比如\n单引号就是\n双引号就是换号符。

image.png


1.2 数据绑定时关键字提示

 在使用yaml配置文件进行配置的时候并不会进行代码补全的相关提示,这样不仅会大大降低代码书写效率,还会增加出错的概率。于是,现在就有一种方法:在项目中加入配置处理器,即可实现编写yaml文件的时候进行关键字提示。方法如下:


第一步: 导入相关依赖


<dependency>
   <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
   <optional>true</optional>
</dependency>


第二步: 重启项目

 点击运行或者重启按钮,重启一下该SpringBoot项目

image.png

第三步: 测试

第四步: 在pom.xml文件中添加代码

 即在打jar包的时候不将配置处理器打入jar包,否则会降低项目的效率


image.png

2 web开发

2.1 静态资源的存放与访问

 静态资源可以理解为前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面。


存放路径:

 所有的静态资源在编程的时候都放在类路径下的一个文件夹里,文件夹默认匹配以下四种命名的任意一种: static、public 、resources 、/META-INF/resources


资源访问方式:

 将项目启动开之后,使用当前项目根路径/ + 静态资源名 对静态资源进行访问。所有的静态资源映射地址是/**

 当静态资源和controller请求重名的时候,资源解析器会首先去找该名称的Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器查找静态资源,静态资源也找不到则响应404页面

自定义存放路径、访问方式:

 对配置文件的 spring. web.resources.static-locations配置项进行修改,可以改变默认的静态资源存储路径。image.png

对配置文件的 spring.mvc.static-path-pattern配置项进行修改,可以使得在访问时拥有指定前缀的请求才会访问静态资源。如下图,只有使用 /res前缀 + 静态资源名访问的时候才会访问到相应的静态资源

image.png

2.2 webjars

 webjars就是将前端所需要的技术jar(比如jquery)使用依赖进行导入,webjars的官方文档就是展示jar对应的依赖,使用的时候直接复制到pom.xml文件即可。webjars的官方文档:https://www.webjars.org/


2.3 web小技巧

2.3.1 index页面

 不管是默认的还是自定义的静态资源路径,只要在下面创建一个index.html文件,这个页面就将会被当做项目的欢迎页面,也就是说访问localhost: 端口号的时候就会访问到index.html页面。但是需要注意的是,不能自定义静态资源的访问方式,否则就会导致上述效果失效。


相关文章
|
3月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
63 4
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
178 3
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
58 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
203 45
|
2月前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
36 7
|
2月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
2月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
44 2
|
2月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
58 1
|
2月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。