版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目四
SpringBoot原理解读与配置只会信息管理系统的基础配置目录Content1智慧信息管理系统的自定义配置2项目导言零支持两种格式的全局配置文件,属性文件格式和YAML格式学习目标零知识目标了解SpringBoot的默认配置文件的内容;熟悉注入配置文件属性值的方法;了解自定义配置文件的方法;掌握@ImportResource注解的使用方法;熟悉多环境配置的方法;熟悉@Profile注解的使用方法。能力目标具备独立为SpringBoot的各种环境配置文件的能力;具备为系统自定义配置文件的能力。素质目标具备精益求精、坚持不懈的精神;具有独立解决问题的能力;具备灵活的思维和处理分析问题的能力;具有责任心。任务1:只会信息管理系统的基础配置壹模块化管理任务技能在SpringBoot中,可以使用模块化管理来组织和管理项目的各个模块。默认配置文件对于SpringBoot项目都需要全局配置文件,目的是用来修改SpringBoot自动配置的默认值。注入配置文件属性值SpringBoot提供了许多配置,其默认提供的配置,会自动扫描并读取到属性值。任务1-1:模块化管理壹1模块化管理概述模块化管理可以帮助我们更好地分离和组织项目的功能,并提高代码的可维护性和可扩展性。下面是一些常用的模块化管理方法:01020304Gradle多项目构建Maven多模块项目SpringBootStarter模块化开发任务1-1:模块化管理壹2模块化管理项目步骤在进行模块化管理项目中有两种方式,一种是创建一个父项目,在项目里面添加子模块,在IDEA软件中具体步骤如下:第一步:先创建一个springboot项目,参照项目三中的创建方式。第二步:创建完项目之后,选择项目,右键在弹出的选项中选择“New”→“Module”。效果如图。任务1-1:模块化管理壹第三步:在弹出的“NewModule”中,填写相关信息,创建springboot模块。效果如图。任务1-1:模块化管理壹第四步:点击“Next”后,在弹出的对话框中选择SpringBoot的版本,和添加SpringWeb依赖,效果如图。任务1-1:模块化管理壹第五步:创建成功后,效果如图4-4所示,此时创建的模块在chapter040101中。任务1-2:默认配置文件壹对于SpringBoot项目都需要全局配置文件,目的是用来修改SpringBoot自动配置的默认值。一般使用Properties文件或YAML文件作为全局的配置文件。1perties(1)SpringBoot框架自动添加perties文件的目的之一是为了实现自动配置机制。自动配置机制会根据应用所引入的starter包来自动触发实现对应功能的bean对象的创建。(2)perties文件除了可以放在resources目录下之外,还可以放在其他几个位置,并且存在一个加载优先级的关系,即不同位置都存在一个perties文件,则以优先级高的位置的perties文件的内容为准。任务1-2:默认配置文件壹2application.yaml(1)YAMLYAML是一种人类可读的以数据为中心数据序列化语言,文件格式是SpringBoot支持的一种JSON超集文件格式。它的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以YAML更多应用于编写配置文件,其文件一般以.yml或yaml为后缀。YAML支持的数据结构有对象(通过键值对表示)、数组和纯量(单个的不可再分的值)。在配置YAML文件时,默认放在resources中,除此之外,还可以放在classpath根路径下,当前工程路径下、classpath根路径下的config目录下和当前工程路径下的config目录下,效果如图。任务1-3:注入配置文件属性值壹SpringBoot提供了许多配置,其默认提供的配置,会自动扫描并读取到属性值。但通常情况我们需要在配置文件中自己定义的值,并将值应用到程序中。1@Value注入属性@Value注解时Spring框架提供的,用来读取配置文件中的属性值并逐个注入Bean对象的属性中,基于@Value注解来将perties或application.yml文件的某个键值对属性赋值到Java类的某个属性中,其中该属性对应的键需要放在“${一级属性名.二级属性名...}”的花括号里面。支持使用SpEL(SpringExpressionLanguage)表达式进行类型转换和验证;支持使用默认值和自定义格式化器等。任务1-3:注入配置文件属性值壹2@Autowired注入属性@Autowired是Spring框架中的注解,用于自动装配Bean对象。通过@Autowired注解,我们可以将一个Bean对象自动注入到另一个Bean对象中,而不需要手动创建和设置依赖对象。具体使用方式如下:(1)字段注入:@AutowiredprivateSomeServicesomeService;(2)构造方法注入:privateSomeServicesomeService;@AutowiredpublicSomeController(SomeServicesomeService){this.someService=someService;}(3)方法注入:privateSomeServicesomeService;@AutowiredpublicvoidsetSomeService(SomeServicesomeService){this.someService=someService;}任务1-3:注入配置文件属性值壹3@ConfigurationProperties注入属性@ConfigurationProperties注解是SpringBoot提供的一种用于将配置文件中的属性值注入到Java类中的方法。它可以自动将配置文件中的属性值映射到Java类的字段上,并提供了一些方便的特性,例如:支持嵌套属性和数组类型的属性;支持类型转换和验证;支持默认值和自定义格式化器等。任务1-3:注入配置文件属性值壹4@ConfigurationProperties和@Value注解区别01底层框架02功能03松散语法04SpEL05JSR303数据校验06Settrt方法07复杂类型封装任务2:智慧信息管理系统的自定义配置贰自定义配置文件任务技能定一个或多个属性源,这些属性源可以是Java中的类路径、文件系统路径或其他资源位置。@ImportResource注解对于传统的XML配置文件,在SpringBoot项目中同样可以使用@ImportResource注解进行手动加载。多环境配置概述多环境配置是指在同一个应用程序中,根据不同的运行环境(如开发环境(dev)、测试环境(test)、生产环境(prod等)来加载不同的配置文件或设置不同的参数。任务2-1:自定义配置文件贰定一个或多个属性源,这些属性源可以是Java中的类路径、文件系统路径或其他资源位置。当应用程序启动时,SpringBoot会自动加载这些属性源,并将其中的属性值注入到应用程序中。默认情况下,@PropertySource注解只支持读取properties格式的配置文件,不支持读取yml格式的配置文件。但是,可以通过添加spring-boot-configuration-processor依赖来解决这个问题。这个依赖包含了一个名为spring-boot-configuration-processor的BeanPostProcessor,它可以将yml格式的配置文件转换为properties格式的配置文件,从而使得@PropertySource注解可以读取yml格式的配置文件。任务2-2:@ImportResource注解贰对于传统的XML配置文件,在SpringBoot项目中同样可以使用@ImportResource注解进行手动加载。@ImportResource注解通常放置在启动类上,在注解中编写locations=“classpath:...”来标记XML文件的路径和名称。任务2-3:多环境配置概述贰多环境配置是指在同一个应用程序中,根据不同的运行环境(如开发环境(dev)、测试环境(test)、生产环境(prod等)来加载不同的配置文件或设置不同的参数。在实际开发中,我们通常需要根据不同的环境来调整应用程序的行为和性能。为了实现多环境配置,我们可以使用以下几种方法:使用环境变量使用不同的参数使用不同的配置文件无论使用哪种方法,都需要注意以下几点:确保不同环境下的配置文件或参数不会相互干扰或冲突。在修改配置文件或参数时,需要进行充分的测试和验证,以确保应用程序的行为和性能符合预期。在发布应用程序时,需要将所有相关的配置文件和参数打包在一起,并提供给用户进行安装和配置。任务2-3:多环境配置概述贰第一步:定义多环境配置文件配置文件名需满足application-{profile}.properties(.yaml/.yml)的格式application-dev.yml—开发环境application-test.yml—测试环境application-prod.yml—生产环境第二步:指定具体运行环境#配置文件中配置fies.active属性,其值对应${profile}值spring:profiles:active:dev任务2-3:多环境配置概述贰1.激活指定profile通过files.ac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度矿产资源勘探开发合同协议4篇
- 科技美好生活
- 2025年度商业街场地施工租赁管理协议3篇
- 个人借款公司版协议范例2024版A版
- 二零二五版窗帘布艺设计制作安装服务合同2篇
- 2025年体育场馆灯光与音响系统优化合同4篇
- 2025年度商业步行街场摊位租赁与品牌推广合同4篇
- 2025年度智能家居产品试用协议书范本4篇
- 2025年度休闲农业园区场地共用服务合同4篇
- 2025年度产业园土地租赁与开发合作协议4篇
- 2025年中国高纯生铁行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 2022-2024年浙江中考英语试题汇编:完形填空(学生版)
- 2025年广东省广州市荔湾区各街道办事处招聘90人历年高频重点提升(共500题)附带答案详解
- 中试部培训资料
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 北师大版数学三年级下册竖式计算题100道
- 计算机网络技术全套教学课件
- 屋顶分布式光伏发电项目施工重点难点分析及应对措施
- 胃镜下超声穿刺护理配合
- 2024解析:第三章物态变化-基础练(原卷版)
评论
0/150
提交评论