首页 > 其他分享 >Spring配置文件

Spring配置文件

时间:2025-01-19 10:02:59浏览次数:3  
标签:配置文件 Spring 配置 验证码 properties yml

1. 配置文件

        配置文件:

        1. 掌握yml和Properties的不同写法

        2. 掌握俩种格式的转化

        3. 掌握从配置文件中,读取配置信息即可

        1.1 概念

        计算机上有数以千计的配置⽂件, 我们使⽤的绝⼤多数软件, ⽐如浏览器, 微信, Idea, 甚⾄电脑, ⼿机, 都离不开配置⽂件. 我们可能永远不会直接与其中的⼤部分⽂件打交道,但它们确实以不同的形式散落在我们的计算机上, ⽐如C:\Users, C:\Windows⽂件夹, 以及各种 *.config, *.xml ⽂件

        1.2 作用

        它主要解决硬编码的问题,把可能会发⽣改变的信息, 放在⼀个集中的地⽅, 当我们启动某个程序时, 应⽤程序从配置⽂件中读取数据, 并加载运⾏.(硬编码是将数据直接嵌⼊到程序或其他可执⾏对象的源代码中, 也就是我们常说的"代码写死")

        比如我调整idea里面的字体大小.我们可以自己调整,而不是写死了

2. Spring Boot 的配置文件

        2.1 三种配置文件介绍

        Spring Boot支持3种配置文件

        1. application.properties

        2. application.yml

        3. application.yaml

        2,3的关系: yml是yaml的缩写.这三种都是通用的配置文件.1,2用的比较多.1.开发时间长的常用.2.年轻人常用

1,2的写法不同不能直接改后缀就实现俩种格式的替换

        这次我们主要来学application.properties这个配置文件.以键值对的形式来写配置文件

        2.2 SpringBoot和tomcat的关系

Spring Boot是一个项目 tomcat是一个web服务器,用来启动发布web项目

Spring Boot把tomcat集成了进来.

之前我们tongghttp访问是使用的tomcat的功能.web项目不只有tomcat才可以启动,其他web容器也可以启动.比如jboss..他们都叫web容器.tomcat也不只能启动spring项目,其他的比如servlet项目.只要遵循http协议这个规范的就可以.

        2.3 出现端口号冲突解决方式

        1. 去后台杀进程(找到8080端口运行的程序,直接强制关闭)

        2. 通过配置文件来指定端口号

        配置文件的名字时不能修改的.因为这个是约定.它这个名字是在Spring里面更底层的地方就已经写死了.

        2.4 properties 配置⽂件说明

          2.4.1 Properties的语法

        properties是以键值对(key-value)的形式配置的,键值对以=连接   

        在这里配置分为俩种

        1. Spring提供的配置

        这个就是定义了应用的名称

这个是Spring 官方配置

https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties

       

        2. 用户自定义的配置

        我们现在有个需求,把图书管理系统里面的变量改成写死的

        1> 写配置文件

        类型不用设定,Spring会知道哪种类型的

        2> 把配置文件引入进来

  •                 定义参数来接受 

                

  •                 写@Value注解

       

  •                 填写参数:参数名字是我们自定义配置的名字

        

        2.4.2 properties 缺点分析
         

        冗余信息多

        为了解决这个问题,我们引入了yml

        2.5 yml配置文件说明

          2.5.1 yml的基本语法

        yml 是树形结构的配置⽂件,它的基础语法是"key: value"

        key 和 value 之间使⽤英⽂冒号加空格的⽅式组成,空格不可省略

        我们先把properties改成yml

        yml和properities配置的区别

        proprieties->yml格式

        自定义

        2.5.2 yml的读取方式

        从yml里面获取配置文件(自定义)

                1> 我们先在yml里面写配置文件

        

                2>  把配置文件引进来

                

        运行结果:

        获取另一种yml格式的配置(spring提供的配置)

        运行结果:

        获取第三种的方式

        运行结果:

        2.5.3 yml的高阶使用

               1> yml配置不同的数据类型以及null

        字符串加不加单引号还是双引号都是无所谓的

        

但是注意一下

• 字符串默认不⽤加上单引号或者双引号。

• 单引号会转义特殊字符,使其失去特殊功能, 始终是⼀个普通的字符串.

• 双引号不会转义字符串⾥⾯的特殊字符, 特殊字符会表⽰本⾝的含义.

此处的转义理解起来会有些拗⼝, \n 本意表⽰的是换⾏.使⽤单引号会转义, 就是说, \n 不再表⽰换⾏了, ⽽是表⽰⼀个普通的字符串 使⽤双引号不会转义, 表⽰ \n 表⽰的是它本⾝的含义, 就是换⾏

        

        2> yml配置对象

        从配置文件中读取一个对象. 这种对对象进行配置是很常见的.(比如数据库)里面的信息是对应数据库上的一个对象,我们操纵的时候就是从这里来拿值

        先创建在model里面设置学生这个对象

        先把这个对象交给Spring进行管理,加上@Componet注解,再通过yml去读.也就是通过@ConfigurationProperties("这里是配置文件的前缀")这个时候就不能⽤ @Value 来读取配置中的对象了,此时要使⽤另⼀个注解 @ConfigurationProperties 来读取.
        

         @ConfigurationProperties的注意事项

        3> 配置集合

        我们任然是使用@ConfigurationProperties,而不是@Value

        注意一下格式

         4> 配置Map

        对于格式的一些要求

    运行结果:

     

        yml的优缺点:

        优点:

        1. 可读性⾼,写法简单, 易于理解

        2. ⽀持更多的数据类型, 可以简单表达对象, 数组, List,Map等数据形态.

        3. ⽀持更多的编程语⾔, 不⽌是Java中可以使⽤, 在Golang, Python, Ruby, JavaScript中也可以使⽤

        缺点:

        1. 不适合写复杂的配置⽂件

        2. 对格式有很强的要求(刚刚换不换行就会导致对象,集合传不传的过去的问题)

3.综合案例        

        验证码:

        原理: 

        生成一个图片,图片里面包含干扰项和正确答案

        需求分析:

        要求生成界面如下

        1. 页面生成验证码

        2. 输入验证码,点击提交,验证用户输入验证码是否正确,正确就进行页面跳转.

        使用的插件:

      网址:           配置文件,Spring,配置,验证码,properties,yml
From: https://blog.csdn.net/2201_75880772/article/details/145104658

相关文章

  • springboot家庭财务管理系统APP后台源码毕设+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,家庭财务管理成为了每个家庭不可或缺的一部分。然而,传统的手工记账方式不仅繁琐易错,而且难以进行数据分析与预测。随着移动互......
  • springboot企业设备管理系统源码毕设+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着现代企业的快速发展,设备作为企业生产运营的重要支撑,其管理效率直接影响到企业的生产效率和成本控制。传统的人工管理模式已难以满足当前企业对设......
  • 计算机毕业设计Springboot医疗保健品销售系统的设计与实现 Springboot医疗保健品销售
    计算机毕业设计Springboot医疗保健品销售系统的设计与实现ll944xja(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着人们生活水平的提高和健康意识的增强,对医疗保健品的需求日益增长。这为医疗保健品行业提供了巨大的市场潜力,同......
  • 计算机毕业设计Springboot学生心理健康教育系统 基于Spring Boot框架的学生心理辅导与
    计算机毕业设计Springboot学生心理健康教育系统5si4kmec(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享在当今社会,学生面临着诸多挑战,如学业压力、人际关系处理以及未来规划的不确定性等,这些都可能对他们的心理健康产生影响。为了......
  • 【JavaEE进阶】SpringMVC 响应
    目录......
  • 搭建一个基于Spring Boot的数码分享网站
    搭建一个基于SpringBoot的数码分享网站可以涵盖多个功能模块,例如用户管理、数码产品分享、评论、点赞、收藏、搜索等。以下是一个简化的步骤指南,帮助你快速搭建一个基础的数码分享平台。—1.项目初始化使用SpringInitializr生成一个SpringBoot项目:访问SpringIni......
  • Spring Boot添加监控功能Actuator
    1.Maven中引入依赖<!--https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifac......
  • 【鱼皮大佬API开放平台项目】Spring Cloud Gateway HTTPS 配置问题解决方案总结
    问题背景项目架构为前后端分离的微服务架构:前端部署在8000端口API网关部署在9000端口后端服务包括:api-backend(9001端口)api-interface(9002端口)初始状态:前端已配置HTTPS(端口8000)后端服务未配置HTTPS通过Nginx进行反向代理遇到的问题第一阶段:400Ba......
  • springboot694大学生租房系统(论文+源码)_kaic
    摘要伴随着全球信息化发展,行行业业都与计算机技术相衔接,计算机技术普遍运用于各大行业,大学生租房系统便是其中一种。实施计算机系统来管理可以降低大学生租房管理的成本,使整个大学生租房的发展和服务水平有显著提升。本论文主要面向大学生租房管理中出现的一些常见问题,将......
  • springboot692基于web的智慧养老平台(论文+源码)_kaic
    摘要首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计......