spring工程相互依赖关系(最为常用,必会精华)

153 阅读2分钟

目录

1. 了解两个xml 的标签

标签一:  compile

标签二: true

资源认证的 常用依赖(公共)

待续未完!!!


创建工程

公共工程  完成初始化  配置xml文件 

 util包和 依赖都放到公共工程

1. 了解两个xml 的标签

下列代码所示

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>

标签一:  <scope>compile</scope>

compile:默认值,表示当前依赖包,要参与当前项目的编译,后续测试,运行时,打包

provided:代表在编译和测试的时候用,运行,打包的时候不会打包进去

test:表示当前依赖包只参与测试时的工作:比如Junit

runtime:表示当前依赖包只参与运行周期,其他跳过了

system:参与度和provided一致,不过被依赖项不会从maven远程仓库下载,而是从本地的系统拿。需要
systemPath属性来定义路径

标签二: <optional>true</optional>

表示两个项目之间依赖不传递;不设置optional或者optional是false,表示传递依赖。

也就是说 默认true 是不能作为公共工程相互依赖的

举个例子:   项目transaction的pom依赖项目common-framework,那么项目common-framework不会把spring-boot-configuration-processor的依赖传递给项目transaction,也就是说transaction不依赖spring-boot-configuration-processor:

 只有这样才能共享  小经验 不创建公共的也没关系 


资源认证的 常用依赖(公共)

  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.9.1</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <scope>compile</scope>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>false</optional>
    </dependency>

待续未完!!!

开发者涨薪指南

48位大咖的思考法则、工作方式、逻辑体系