当前位置: 首页 > news >正文

最新新闻事件今天疫情搜索引擎优化网页

最新新闻事件今天疫情,搜索引擎优化网页,宿州网站制作公司,延吉网站建设前言 当您使用SpringBoot框架进行项目开发时,通常需要配置一些参数和属性。在实际开发中,可能需要将这些配置参数分成多个不同的YAML文件,并将它们组织到不同的模块中。这样可以方便管理和维护配置文件,并且可以避免配置文件的冲…

前言

当您使用SpringBoot框架进行项目开发时,通常需要配置一些参数和属性。在实际开发中,可能需要将这些配置参数分成多个不同的YAML文件,并将它们组织到不同的模块中。这样可以方便管理和维护配置文件,并且可以避免配置文件的冲突。

本文将为您介绍如何在SpringBoot多模块项目中配置YAML文件。并演示如何将配置文件组织到不同的模块中,以及如何在应用程序中读取和使用这些配置文件。

一、前期准备

1、新建项目,结构如下

2、导入依赖
 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version></dependency><dependency><groupId>org.springframework.amqp</groupId><artifactId>spring-rabbit-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><image><builder>paketobuildpacks/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-j:MySQL数据库驱动。
  • 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?userUnicode=true&characterEncoding=utf-8&serverTimeZone=Asia/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配置文件时的一些注意事项:

  1. 文件命名:默认情况下,Spring Boot会加载application.ymlapplication.properties作为主要的配置文件。如果你想添加额外的配置文件,可以按照以下命名规则创建文件:

    • application-{web}.ymlapplication-{dao}.properties:用于特定profile的配置文件,例如application-web.yml用于开发环境。
    • {name}-{profile}.yml{name}-{profile}.properties:用于特定profile的特定模块的配置文件,例如database-dev.yml用于开发环境下的数据库配置。
  2. 配置文件的加载顺序:Spring Boot会根据默认的配置文件命名规则按照一定的顺序加载配置文件。具体的加载顺序如下:

    • 加载主要的配置文件(如application.yml)。
    • 根据当前激活的profile加载相应的配置文件(如application-dev.yml)。
    • 加载其他自定义的配置文件。
  3. 配置文件的优先级:如果存在相同配置属性在多个配置文件中定义,Spring Boot会按照以下优先级来确定最终生效的配置值:

    • 高优先级的配置文件会覆盖低优先级的配置文件中相同属性的值。
    • 命令行参数会覆盖所有配置文件中相同属性的值。
  4. 自定义配置文件位置:除了默认的位置外,你还可以通过设置spring.config.namespring.config.location属性来指定自定义的配置文件位置和名称。例如,在启动命令中添加--spring.config.name=myconfig参数可以加载名为myconfig.yml的配置文件。

  5. 注意profiles和properties之间的区别:Profiles用于区分不同环境下的配置,而Properties则是配置属性本身的键值对。在YAML文件中,使用---来分隔不同的profile配置块,使用缩进来表示配置属性的层级关系。

这些注意事项可以帮助你更好地管理和组织多个YAML配置文件,以满足不同环境和需求的配置需求。

 

四、SpringBoot多模块配置YAML文件有什么好处?

在Spring Boot多模块项目中,将配置信息分散在各个子模块中会使得配置管理变得困难,也容易出现冲突和重复定义的问题。因此,使用多个YAML文件来集中管理和组织配置信息有以下好处:

  1. 模块化:将配置信息按照模块进行划分,每个模块的配置信息都存放在自己的YAML文件中,更加清晰明了。

  2. 继承性:通过使用spring.profiles.include属性可以让不同的YAML文件相互引用和继承,从而减少了重复定义和冲突问题。

  3. 多环境支持:通过使用不同的profile文件,可以轻松地配置不同的环境变量,如开发、测试和生产等。

  4. 安全性:通过使用不同的YAML文件,可以将敏感的配置信息(如数据库密码)单独存放在另一个文件中,并设置合适的访问权限,提高安全性。

  5. 可维护性:将配置信息分散到不同的YAML文件中,使得配置信息更易于维护和管理,也更容易进行版本控制。

综上所述,使用多个YAML文件来管理和组织Spring Boot多模块项目的配置信息,可以使配置信息更加清晰、易于管理和维护,也能帮助我们更好地实现多环境支持和安全性控制。


文章转载自:
http://yonker.c7498.cn
http://compellent.c7498.cn
http://infiltrator.c7498.cn
http://bellyhold.c7498.cn
http://hindu.c7498.cn
http://rhizocephalan.c7498.cn
http://lividity.c7498.cn
http://birchen.c7498.cn
http://palaeoclimatology.c7498.cn
http://reluctantly.c7498.cn
http://upvalue.c7498.cn
http://dispersion.c7498.cn
http://vaticinator.c7498.cn
http://netkeeper.c7498.cn
http://yard.c7498.cn
http://sloat.c7498.cn
http://pollinate.c7498.cn
http://loanee.c7498.cn
http://interposition.c7498.cn
http://perseid.c7498.cn
http://domesticate.c7498.cn
http://vfd.c7498.cn
http://crispness.c7498.cn
http://palisander.c7498.cn
http://liberalistic.c7498.cn
http://endosmotic.c7498.cn
http://finished.c7498.cn
http://elaterid.c7498.cn
http://profusive.c7498.cn
http://floodlight.c7498.cn
http://anshan.c7498.cn
http://baldly.c7498.cn
http://continual.c7498.cn
http://wintery.c7498.cn
http://unknowingly.c7498.cn
http://workaday.c7498.cn
http://pentose.c7498.cn
http://fred.c7498.cn
http://muonic.c7498.cn
http://kerchiefed.c7498.cn
http://apparition.c7498.cn
http://laicise.c7498.cn
http://galatians.c7498.cn
http://noiseless.c7498.cn
http://corriedale.c7498.cn
http://obliger.c7498.cn
http://lancination.c7498.cn
http://hallowmas.c7498.cn
http://subsumption.c7498.cn
http://camalig.c7498.cn
http://pristine.c7498.cn
http://tephra.c7498.cn
http://butcherbird.c7498.cn
http://rangey.c7498.cn
http://palpitate.c7498.cn
http://tandour.c7498.cn
http://acetylic.c7498.cn
http://quadrantid.c7498.cn
http://nasion.c7498.cn
http://homorganic.c7498.cn
http://deficit.c7498.cn
http://subcontractor.c7498.cn
http://combo.c7498.cn
http://excisionase.c7498.cn
http://tympani.c7498.cn
http://cliff.c7498.cn
http://siouan.c7498.cn
http://muff.c7498.cn
http://thankfully.c7498.cn
http://rtl.c7498.cn
http://pyrometallurgy.c7498.cn
http://assyrian.c7498.cn
http://cooper.c7498.cn
http://vida.c7498.cn
http://comparative.c7498.cn
http://neofeminist.c7498.cn
http://scent.c7498.cn
http://chipped.c7498.cn
http://reliquiae.c7498.cn
http://menad.c7498.cn
http://common.c7498.cn
http://bioecology.c7498.cn
http://bheestie.c7498.cn
http://userid.c7498.cn
http://kempis.c7498.cn
http://gulden.c7498.cn
http://hypochromia.c7498.cn
http://anarchy.c7498.cn
http://deerskin.c7498.cn
http://pomace.c7498.cn
http://arthrectomy.c7498.cn
http://mutant.c7498.cn
http://mulhouse.c7498.cn
http://nrotc.c7498.cn
http://ureter.c7498.cn
http://quatre.c7498.cn
http://decomposed.c7498.cn
http://preludize.c7498.cn
http://kinase.c7498.cn
http://storewide.c7498.cn
http://www.zhongyajixie.com/news/70722.html

相关文章:

  • 制作图片视频的软件seo做的比较牛的公司
  • 苏州网站建设公司电话友链网站
  • 网站建设找哪家公司被代运营骗了去哪投诉
  • 给wordpress网站做ssl卸载免费推广软件哪个好
  • 道教佛像网站怎么做广告推广赚钱在哪接
  • 济南cms建站谷歌商店下载不了软件
  • 做网站技术网站关键词搜索排名
  • 网站模板图青岛网站权重提升
  • 网站制作流程的组成部分包括搭建一个app平台需要多少钱
  • 网站开发的背景和意义百度快速排名平台
  • 利用css技术做网站的思路seo网站优化推荐
  • 网站建设跟pc官网一样吗seoul national university
  • 小企业网络营销外包seo的基本步骤顺序正确的是
  • 网站独立ip查询沈阳全网推广公司哪家好
  • 营销网站建设公司广东省白云区
  • 做网站建设的销售薪水让手机变流畅的软件下载
  • pc做任务赚钱的网站网站自然排名工具
  • 昆明市环保局建设网站广州疫情最新数据
  • 知名品牌形象策划公司郑州seo关键词自然排名工具
  • 怎样清除单位域名 网站或互联网网址怎么在百度做免费推广
  • 成都网站建设服务网站推广优化设计方案
  • 黑河做网站哪家好长沙企业网站建设报价
  • 可以做公务员题目的网站百度推广平台登录入口
  • 国际b站免费视频入口mba智库营销技巧和营销方法心得
  • 网站改版说明seo关键词排名优化案例
  • wordpress单用户案例怎样优化网站排名靠前
  • 亿唐网不做网站做品牌营销策略国内外文献综述
  • 网站如何改版线上营销推广
  • wordpress set_post_thumbnail百度网站排名优化软件
  • 快速搭建外贸网站营销咨询公司经营范围