基于maven的springboot的"过时"用法解析

 更新时间:2023年09月18日 08:37:37   作者:codecraft  
这篇文章主要为大家介绍了基于maven的springboot"过时"用法示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

接触过许多工程,发现有一些基于maven的springboot工程还是使用maven的profile,有些"过时"了,下面简单介绍一下。

示例1

pom.xml
<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>staging</id>
            <properties>
                <profiles.active>staging</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <configuration>
                    <target>1.8</target>
                </configuration>
                <executions>
                    <execution>
                        <id>copy-service-properties</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <copy todir="target/classes/config" overwrite="true">
                                    <fileset dir="${basedir}/src/main/resources/deploy/${profiles.active}">
                                        <include name="*.yml"/>
                                    </fileset>
                                </copy>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
src/main/resources
├── config
│   ├── application.yml
│   └── bootstrap.yml
├── deploy
│   ├── Dockerfile
│   ├── dev
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   ├── prod
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   ├── staging
│   │   ├── application.yml
│   │   └── bootstrap.yml
│   └── test
│       ├── application.yml
│       └── bootstrap.yml

 这种方法呢,感觉是多此一举,用application-{profile}.yml不香吗,感觉是没有用上springboot之前的maven工程的用法

示例2

pom.xml
<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <app.active>dev</app.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <app.active>test</app.active>
            </properties>
        </profile>
        <profile>
            <id>staging</id>
            <properties>
                <app.active>staging</app.active>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <app.active>prod</app.active>
            </properties>
        </profile>
    </profiles>
application.yml
spring:
  profiles:
    active: @app.active@

 这种用法呢,src/main/resources下面只有一个application.yml,把profile的差异放到了maven的profile中,在application.yml引用maven的profile变量,有点"少见多怪",直接application-{profile}.yml用不香吗。

小结

springboot工程已经提供了profile的特性了,其实大部分场景可以替换掉maven的profile,没必要在使用maven的profile了,不然总感觉显得有点古老和过时。

以上就是基于maven的springboot的"过时"用法的详细内容,更多关于maven的springboot的"过时"用法的资料请关注脚本之家其它相关文章!

相关文章

  • Java this、final等关键字总结

    Java this、final等关键字总结

    这篇文章主要对java中this、final等关键字进行了总结,需要的朋友可以参考下
    2017-04-04
  • Spring框架对于Bean的管理详解

    Spring框架对于Bean的管理详解

    在实际开发中,我们往往要用到Spring容器为我们提供的诸多资源,例如想要获取到容器中的配置、获取到容器中的Bean等等。本文为大家详细讲讲工具类如何获取到Spring容器中的Bean,需要的可以参考一下
    2022-07-07
  • java动态代理实现代码

    java动态代理实现代码

    这篇文章主要介绍了java 动态代理的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望能给你带来帮助
    2021-07-07
  • java中random的用法小结

    java中random的用法小结

    这篇文章主要介绍了java中random的用法详解,主要包括java.lang.Math.random()方法的用法及java.util.Random类用法,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Java超详细讲解类变量和类方法

    Java超详细讲解类变量和类方法

    这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-05-05
  • java的线程池框架及线程池的原理

    java的线程池框架及线程池的原理

    这篇文章主要介绍了java的线程池框架及线程池的原理的相关资料,需要的朋友可以参考下
    2017-03-03
  • FeignClient中name和url属性的作用说明

    FeignClient中name和url属性的作用说明

    这篇文章主要介绍了FeignClient中name和url属性的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • mybatis if标签判断不生效的解决方法

    mybatis if标签判断不生效的解决方法

    这篇文章主要介绍了mybatis if标签判断不生效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • springBoot 插件工具热部署 Devtools的步骤详解

    springBoot 插件工具热部署 Devtools的步骤详解

    这篇文章主要介绍了springBoot 插件工具 热部署 Devtools,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Web容器启动过程中如何执行Java类

    Web容器启动过程中如何执行Java类

    这篇文章主要介绍了Web容器启动过程中如何执行Java类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论