Maven管理SpringBoot资料详解

  


  

  

春季可使用概要绝对程序在不同环境下执行情况,包含配置,加载Bean,依赖等。
  

  

Spring的配置文件一般项目包含:dev(开发),测试(单元测试),qa(集成测试),刺激(生产环境)。由spring.profiles。活动属性绝定启用的配置文件。
  

  

SpringBoot的配置文件默认为application.properties(或yaml,此外仅心属性配置为说明)。不同配置下的配置文件由应用程序——{概要}。属性管理,同时独立的剖面配置文件会覆盖默认文件下的属性。
  

  


  

  

Maven同样也有概要设置,可在构建过程中针对不同的轮廓环境执行不同的操作,包含配置,依赖,行为等。
  

  

由pom Maven的概要文件。xml的& lt; Profiles>标签管理。每个概要文件中可设置:id(唯一标识),属性(配置属性),激活(自动触发的逻辑条件),依赖关系(依赖)等。
  

  

此文章不对春天和Maven的剖面作过多说明,详细情况请自行查阅。
  

  

<强>
  

  

由于构建是基于Maven(或Gradle,此处仅以Maven说明)。所以使用Maven管理春天构建时的概要文件是非常方便的。
  

  

Maven管理春天概要文件分五步,以下详细介绍。
  

  

<强> 3.1去掉默认的Tomcat依赖
  

  

在SpringBoot MVC项目中,默认以内嵌Tomcat运行,如果需要特殊的设置或者使用暗潮,需要去掉默认的Tomcat依赖:

        & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt; exclusions>   & lt; exclusion>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-tomcat   & lt;/exclusion>   & lt;/exclusions>   & lt;/dependency>      

如果你同时使用了MyBatis,需要去掉tomcat jdbc依赖:

        & lt; dependency>   & lt; groupId> org.mybatis.spring.boot   & lt; artifactId> mybatis-spring-boot-starter   & lt; exclusions>   & lt; exclusion>   & lt; groupId> org.apache.tomcat   & lt; artifactId> tomcat-jdbc   & lt;/exclusion>   & lt;/exclusions>   & lt;/dependency>      

<强> 3.2 Maven概要设置
  

  

在项目(如果有模块为具体模块)的pom.xml下设置:

        & lt; !春天,Maven控制概要——比;   & lt; profiles>   & lt; profile>   & lt; id> dev   & lt; activation>   & lt; activeByDefault> true   & lt;/activation>   & lt; properties>   & lt; profileActive> dev   & lt;/properties>   & lt; dependencies>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-tomcat   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.apache.tomcat   & lt; artifactId> tomcat-jdbc   & lt;/dependency>   & lt;/dependencies>   & lt;/profile>   & lt; profile>   & lt; id> prod   & lt; properties>   & lt; profileActive> prod   & lt;/properties>   & lt;/profile>   & lt;/profiles>      

从上面的配置可以看的出,Maven的剖面配置了两个:开发和产品化,并且在dev中使用了内嵌Tomcat,而刺激中没有,所以这两个配置文件打包的文件开发可以直接运行(插件使用了SpringBoot插件),而刺激并不能直接运行(或部署在外部Tomcat下,并不推荐这样,后面会说明)。
  

  

属性中的profileActive是我们申明的属性,此处对应Spring的配置文件值。
  

  

<强> 3.3 Maven资源过滤
  

  

SpringBoot的概要文件选择需要在应用程序中。属性中配置,如果定死在文件,那么每次打包都需要手动修改,很麻烦,而且容易出错。
  

  

Maven的资源过滤功能可以实现在构建时修改以“@xxx@”表示的属性。资源过滤需要在pom.xml的& lt; build>标签下配置资源:

        & lt; !——配置文件对资源的操作——比;   & lt; resources>   & lt; resource>   & lt; directory> src/main/resources   & lt; excludes>   & lt; exclude>应用程序* .properties   & lt;/excludes>   & lt;/resource>   & lt; resource>   & lt; directory> src/main/resources

Maven管理SpringBoot资料详解