排名好的网站关键词优化企业,怎么在百度上投放广告,深圳市福田区住房和建设局,中国设计网官网图标前言
当您使用SpringBoot框架进行项目开发时#xff0c;通常需要配置一些参数和属性。在实际开发中#xff0c;可能需要将这些配置参数分成多个不同的YAML文件#xff0c;并将它们组织到不同的模块中。这样可以方便管理和维护配置文件#xff0c;并且可以避免配置文件的冲…前言
当您使用SpringBoot框架进行项目开发时通常需要配置一些参数和属性。在实际开发中可能需要将这些配置参数分成多个不同的YAML文件并将它们组织到不同的模块中。这样可以方便管理和维护配置文件并且可以避免配置文件的冲突。
本文将为您介绍如何在SpringBoot多模块项目中配置YAML文件。并演示如何将配置文件组织到不同的模块中以及如何在应用程序中读取和使用这些配置文件。 一、前期准备
1、新建项目结构如下 2、导入依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.0/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.6/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-rabbit-test/artifactIdscopetest/scope/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationimagebuilderpaketobuildpacks/builder-jammy-base:latest/builder/image/configuration/plugin/plugins/build 在dependencies标签中列出了项目所依赖的各个库和框架包括 spring-boot-starter-amqp用于支持RabbitMQ消息队列的Spring Boot Starter。spring-boot-starter-data-elasticsearch用于支持Elasticsearch搜索引擎的Spring Boot Starter。spring-boot-starter-data-redis用于支持Redis缓存和数据存储的Spring Boot Starter。spring-boot-starter-jdbc用于支持JDBC数据库访问的Spring Boot Starter。spring-boot-starter-web用于支持Web开发的Spring Boot Starter。mybatis-spring-boot-starter用于支持MyBatis数据库访问的Spring Boot Starter。mysql-connector-jMySQL数据库驱动。lombok用于简化Java代码编写的库。spring-boot-starter-test用于支持单元测试的Spring Boot Starter。pagehelper-spring-boot-starter用于支持MyBatis分页查询的Spring Boot Starter。spring-rabbit-test用于RabbitMQ单元测试的Spring库。 在dependencyManagement标签中引入了spring-boot-dependencies的pom文件用于统一管理Spring Boot相关的依赖版本号。 在build标签中配置了spring-boot-maven-plugin插件用于将项目构建为一个可执行的Spring Boot应用程序并指定了基础镜像为paketobuildpacks/builder-jammy-base:latest。 这些配置可以确保项目正确引入所需的依赖库并且可以使用Maven构建工具来构建和打包项目。 二、配置yml
我们配置三个配置文件一个主配置文件一个web配置文件一个dao的配置文件。
1、application-web.yml
server:port: 8088servlet:context-path: /ch12encoding:enabled: truecharset: UTF-8force: true
简单的配置服务器的端口号和上下文路径。
2、application-dao.yml
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:330/psm?userUnicodetruecharacterEncodingutf-8serverTimeZoneAsia/shanghaiusername: rootpassword: 123456hikari:minimum-idle: 5maximum-pool-size: 20idle-timeout: 90000connection-timeout: 3000connection-test-query: select 1
mybatis:type-aliases-package: edu.nf.ch12.entitymapper-locations: classpath://mappers/*.xmlpagehelper:helper-dialect: mysqlreasonable: truesupport-methods-arguments: true 配置连接数据库的数据源mybatis以及分页插件。 3、主配置类 application.yml
spring:profiles:include: web , dao 在Spring Boot中可以使用spring.profiles属性来指定应用程序的配置文件。profiles属性允许您根据特定的配置文件来激活或禁用不同的功能或模块。 在您的示例配置中spring.profiles.include属性被设置为web和dao表示您希望同时激活这两个配置文件。这意味着应用程序将加载所有与这些配置文件相关的属性和bean定义。 使用spring.profiles.include属性可以使您的应用程序在不同的环境中以不同的方式运行。例如在开发环境中您可以仅激活web配置文件而在生产环境中您可以同时激活web和dao配置文件。 通过使用多个配置文件您可以更好地组织和管理应用程序的配置。每个配置文件可以包含特定于某个模块或功能的属性和bean定义使得配置更加清晰和可维护。 4、测试
运行服务器,然后在浏览器访问地址只要能够进正常的访问controler的路径就表示没有报错。 三、配置多个yml文件的注意事项
在Spring Boot中你可以使用多个YAML配置文件来管理不同的配置属性。以下是使用多个YAML配置文件时的一些注意事项 文件命名默认情况下Spring Boot会加载application.yml或application.properties作为主要的配置文件。如果你想添加额外的配置文件可以按照以下命名规则创建文件 application-{web}.yml或application-{dao}.properties用于特定profile的配置文件例如application-web.yml用于开发环境。{name}-{profile}.yml或{name}-{profile}.properties用于特定profile的特定模块的配置文件例如database-dev.yml用于开发环境下的数据库配置。 配置文件的加载顺序Spring Boot会根据默认的配置文件命名规则按照一定的顺序加载配置文件。具体的加载顺序如下 加载主要的配置文件如application.yml。根据当前激活的profile加载相应的配置文件如application-dev.yml。加载其他自定义的配置文件。 配置文件的优先级如果存在相同配置属性在多个配置文件中定义Spring Boot会按照以下优先级来确定最终生效的配置值 高优先级的配置文件会覆盖低优先级的配置文件中相同属性的值。命令行参数会覆盖所有配置文件中相同属性的值。 自定义配置文件位置除了默认的位置外你还可以通过设置spring.config.name和spring.config.location属性来指定自定义的配置文件位置和名称。例如在启动命令中添加--spring.config.namemyconfig参数可以加载名为myconfig.yml的配置文件。 注意profiles和properties之间的区别Profiles用于区分不同环境下的配置而Properties则是配置属性本身的键值对。在YAML文件中使用---来分隔不同的profile配置块使用缩进来表示配置属性的层级关系。
这些注意事项可以帮助你更好地管理和组织多个YAML配置文件以满足不同环境和需求的配置需求。 四、SpringBoot多模块配置YAML文件有什么好处
在Spring Boot多模块项目中将配置信息分散在各个子模块中会使得配置管理变得困难也容易出现冲突和重复定义的问题。因此使用多个YAML文件来集中管理和组织配置信息有以下好处 模块化将配置信息按照模块进行划分每个模块的配置信息都存放在自己的YAML文件中更加清晰明了。 继承性通过使用spring.profiles.include属性可以让不同的YAML文件相互引用和继承从而减少了重复定义和冲突问题。 多环境支持通过使用不同的profile文件可以轻松地配置不同的环境变量如开发、测试和生产等。 安全性通过使用不同的YAML文件可以将敏感的配置信息如数据库密码单独存放在另一个文件中并设置合适的访问权限提高安全性。 可维护性将配置信息分散到不同的YAML文件中使得配置信息更易于维护和管理也更容易进行版本控制。
综上所述使用多个YAML文件来管理和组织Spring Boot多模块项目的配置信息可以使配置信息更加清晰、易于管理和维护也能帮助我们更好地实现多环境支持和安全性控制。