你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

intellij idea golang plugin 下面来说说大家都知道的关于Spring Boot的一个小细节吧!

发布时间:2026-01-02

浏览次数:0

小伙伴们清楚,我们于创建Boot项目之际,默认情况下都会存在一个,此中为我们确定了项目的JDK版本、编码格式、依赖版本、插件版本等各类常见内容,部分小伙伴或许看过的源码,该源码里面有着这样一项配置:


  
    ${basedir}/src/main/resources
    true
    
      **/application*.yml
      **/application*.yaml
      **/application*.properties
    
  
  
    ${basedir}/src/main/resources
    
      **/application*.yml
      **/application*.yaml
      **/application*.properties
    
  

首先,小伙伴们是知道的,这个配置文件的目的,主要在于描述在进行 maven 打包时,是否要带上这几个配置文件,然而,乍一看,又会感觉上面这段配置好像存在某种矛盾,待松哥来和大家梳理一番后,就不会觉得存在矛盾了:

首先来看第一个方面,此方面所涉及的乃是项目的目录,在这个目录当中存在着我们三种格式的配置文件,除此之外,还有一个属性的值被设定为 true,那么这究竟是什么意思呢?实际上这所表达的是,我们于 maven 的 pom.xml 文件里所定义的一些变量,能够在其所列出的配置文件当中进行引用,换而言之,就是所列出的文件,能够参与到项目的编译过程之中。第二个哟 ,不存在呢 ,而且把这三个文件给排除了 ,其意思是 ,在项目进行打包的进程当中 ,除开这三类文件以外 ,其余的文件会直接被拷贝到项目里 ,不会去参与项目编译 。

需要总结的是,所下的全部文件,都会被整合入项目里,然而,被列出来的那三种类型,不但会被收纳进来,而且还会参与到编译过程当中。

这下就清晰了,上面这段配置实际上并不矛盾。

如此一来,于 或者 yaml 里面,要怎样去引用 maven 之中的变量呀?

这块原本写法是运用$符号去引用,然而,我们于配置文件里面,常常借助$符号来引用当前配置文件的另外一个key,所以,我们在Boot之中,还会瞧见下面这行配置:


  17
  @
  ${java.version}
  ${java.version}
  UTF-8
  UTF-8

这里的@,意味着把用于资源引用的符号,改成@符号,即在yaml或者文件里,要是咱们想要去引用pom.xml之中所定义的变量,那么就能够借助@符号来进行引用。

松哥列举一个简易的事例,假定我要于项目的yaml文档里设置当前项目的Java版本,那么我能够依照如下这般去撰写:

app:
  java:
    version: @java.version@

那么,在这里,这个 @java.@ 所代表的含义便是,它引用了,在 pom.xml 里定义的,那个 java. 变量 。

此刻,我们针对项目开展编译工作,在完成编译操作之后,再去打开那个.yaml,其呈现的内容是这样的:

可以看到,引用的变量已经被替换了。

依据Boot里默认的设定,*.yaml、*.yml以及*.文件之中能够去引用在pom.xml里所定义的变量,然而其他文件却不具备这样的能力。要是其他文件也企图引用,那就需要另外进行一番配置才行啦。

比如,要是想要让txt文件去引用pom.xml里的变量,那么我们能够在pom.xml当中进行像下面这样的配置:


    
        
            src/main/resources
            
                **/*.txt
            
            true
        
    
    
        

            org.springframework.boot
            spring-boot-maven-plugin
        
    

所有txt文件,将其设置为true(若为不设置则默认为false),之后我们能够在目录下的txt文件里引用pom.xml中的变量,如下所示:

编译之后,这个变量引用就会被替换成真正的值:

在yaml里引用pom.xml的配置,存在一种极其经典的用法,那便是多环境切换intellij idea golang plugin,。

假定当下我们于项目里存在着开发环境,还有测试环境,再有生产环境,与之相对应的配置文件具体是。

我们能够于.yaml里明确具体采用哪一个配置文件,呈现为如下这般:

spring:
  profiles:
    active: dev

这个表示使用开发环境的配置文件。

但有时,我们的环境信息是于pom.xml里配置的,像pom.xml中含有如下这般的内容:。


    
        dev
        
            dev
        
        
        
            true
        
    
    
        prod
        
            prod
        
    
    
        test
        
            test
        
    

在这儿配置了三个环境来着,其中默认的那个是dev()。这样一来,我们若在.yaml格式文件里,就能够利用.去引用当下环境的名称,而不是采用硬编码哟。像下面这样呈现:

spring:
  profiles:
    active: @package.environment@

当下,当我们借由maven指令针对项目进行打包操作之际,便能去指定当前所处环境的版本喽,比如说若是采用test环境作为示例,其打包命令是这样子的:

mvn package -Ptest

完成打包之后,我们去查看.yaml ,就能够发现其中的环境已经是 test 了。

要是你所采用的是IDEA这一工具,那么还有一种方式,即能够凭借手动去勾选相应的环境,接着再去点击那个打包按钮,如同下面所呈现的这般:

可以先勾选上面的环境信息intellij idea golang plugin,再点击下面的打包。

好啦,有个小小的知识点,由于有小伙伴在微信上问了这个问题,所以就把它拿出来,和大家分享一下。

如有侵权请联系删除!

13262879759

微信二维码