美文网首页
01-项目搭建

01-项目搭建

作者: 16325 | 来源:发表于2020-06-03 11:15 被阅读0次

    最近项目事情不多,有空闲时间准备搭建一个自己的小项目,以后有什么新想法或者看到好的代码就往里边加。
    使用技术的话,就是springboot为主吧。加上一些cloud的东西和自己写一些模块,争取都是可插拔可替换的,前端接入个vue加小程序? 反正想到什么就加进来吧。

    项目构建

    • 搭建springboot项目,用idea加上boot的初始化,默认什么依赖都不加。先创建父pom

    springboot的依赖管理

    两种方式:

    继承spring-boot-starter-parent

    • 在spring-boot-starter-parent中提供了很多默认的配置,这些配置可以大大简化我们的开发
    • 通过继承spring-boot-starter-parent,默认具备了如下功能:
    1. Java版本(Java8)
    2. 源码的文件编码方式(UTF-8)
    3. 依赖管理
    4. 打包支持
    5. 动态识别资源
    6. 识别插件配置
    7. 识别不同的配置,如:application-dev.properties 和 application-dev.yml
    • 以上继承来的特性有的并非直接继承自spring-boot-starter-parent,而是继承自spring-boot-starter-parent 的父级spring-boot-dependencies
    • 需要特别说明的是,application-dev.properties 和 application-dev.yml支持spring风格的占位符(${…​}),但是Maven项目把对占位符的支持改为(@..@),可以通过设置Maven属性resource.delimiter来重置回去。
    • 继承spring-boot-starter-parent后,大大简化了我们的配置,它提供了丰富的常用的默认的依赖的版本定义,我们就不需要再次指定版本号:
    • 假设我们需要定制自己的版本号,可以通过下面的方式重写:
    <properties>
        <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
    </properties>
    

    不继承spring-boot-starter-parent

    • 有时候项目可能有自己的parent poms,Maven只允许定义一个parent pom,这时的项目虽然没有继承自spring-boot-starter-parent,但是依赖管理始终需要的,可以通过如下配置引入spring-boot-dependencies的依赖管理功能:
    <dependencyManagement>
        <dependencies>
            <dependency>
                <!-- Import dependency management from Spring Boot -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.0.BUILD-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope> 
            </dependency>
        </dependencies>
    </dependencyManagement>
    

    那么在这种情况下要重写依赖的版本号就需要用另外的方式:

    <dependencyManagement>
       <dependencies>
           <!-- Override Spring Data release train provided by Spring Boot -->
           <dependency>
               <groupId>org.springframework.data</groupId>
               <artifactId>spring-data-releasetrain</artifactId>
               <version>Fowler-SR2</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-dependencies</artifactId>
               <version>2.2.0.BUILD-SNAPSHOT</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
       </dependencies>
    </dependencyManagement>
    

    因为是添加了dependencyManagement而并非集成,所以没有版本号的properties,没有办法覆盖

    项目结构

    搭建了一个父pom,然后添加一个pause模块,里边什么也没有,其他模块可以往里添加,然后进行测试


    image.png

    相关文章

      网友评论

          本文标题:01-项目搭建

          本文链接:https://www.haomeiwen.com/subject/flyvzhtx.html