依赖_依赖注入 - CSDN
精华内容
参与话题
  • Java基础-----什么叫依赖

    千次阅读 2019-05-10 21:22:21
    继承: package a.sample; public class a{int a = 1;} package a.sample; public class b extend A{int B = A;} //这是有效的 ...依赖: 下面重给a类: package a.sample; import a.sample.b; public cla...

    继承:


    package a.sample;
    public class a{int a = 1;}

    package a.sample;
    public class b extend A{int B = A;} //这是有效的


    也就是B继承了A类 B类可以用A类的变量A


    依赖:


    下面重给a类:
    package a.sample;
    import a.sample.b;
    public class a{int a = 1;int c = b.B;} //如果删掉B类,此代码无效!


    也就是说a类引用了b类的b变量
    这就是一个依赖的关系,所以构成依赖

    展开全文
  • Maven依赖详解

    千次阅读 2018-05-27 15:01:26
    一、依赖 依赖是Maven 中最关键的部分,我们之所以在工程中使用Maven,就是因为它的依赖管理功能。如果我们想要在工程中引入某个jar 包,只需要在pom.xml 中引入其jar 包的坐标即可。比如引入log4j 的依赖: &...

    一、依赖

    依赖是Maven 中最关键的部分,我们之所以在工程中使用Maven,就是因为它的依赖管理功能。如果我们想要在工程中引入某个jar 包,只需要在pom.xml 中引入其jar 包的坐标即可。比如引入log4j 的依赖:

        <dependencies>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>

    Maven 通过groupIdartifactIdversion三个向量来定位Maven 仓库其jar 包所在的位置,并把对应的jar 包引入到工程中来。

    二、依赖范围

    在引入log4j 依赖的时候,有一个scope设置,这个scope设置的值就是对应的依赖范围(因为compile 是默认的依赖范围,所以有时也可以省略)。

    Maven 提供了六种依赖的范围:compiletestprovidedruntimesystemimport。其中compile 是默认的依赖范围。这里主要对比前三种常用的依赖范围。

    type 对主程序是否有效 对测试程序是否有效 是否参与打包与部署 典型例子
    compile Y Y Y log4j
    test N Y N junit
    provided Y Y N servlet-api

    需要注意的是:provided 范围依赖是不参与项目打包与部署的,比如 servlet-api,如果你把scope改成compile 范围的依赖,就会因为jar 包冲突报错。原因是我们在启动web 项目时,tomcat 已经在启动时加载了自身的 servlet-api。
    这里写图片描述

    三、依赖的传递性

    依赖的传递性是指:在A 中添加对B 的依赖,在B 中添加对C 的依赖,如果依赖范围是compile 的,A 不仅会有B 的jar 包,也会有C 的jar 包。如果在C 中添加了某个依赖,那么根据传递性,A 和B 也可以使用A 添加的依赖,而不需要自己再重新引入依赖。
    这里写图片描述

    四、依赖的原则

    最短路径优先原则:如果A 依赖于B,B 依赖于C,在B 和C 中同时有log4j 的依赖,并且这两个版本不一致,那么A 会根据最短路径原则,在A 中会传递过来B 的log4j版本。
    这里写图片描述

    路径相同先声明原则:如果在A 同时依赖于B 和C,B 和C 没有依赖关系,并且都有log4j 的依赖,且版本不一致,那么A 会引入在pom.xml 中先声明依赖的log4j 版本。
    这里写图片描述

    五、依赖的排除

    我们在当前工程中引入了A 的依赖,而A 同时有对B 的依赖,根据传递性我们知道,在当前工程中会自动引入对B 的依赖。其中B 可能是一个不稳定的版本,或者对当前的工程存在着不良的影响 。这时我们就可以在引入对A 依赖的同时排除对B 的依赖。

    下面我们以spriing-core 为例,当我们在pom.xml中引入对spriing-core 的同时,会自动将commons-logging 的jar 包引入进来。如下所示:
    这里写图片描述
    假设这个commons-logging 是一个不稳定的版本(只是假设),我们希望在引入spriing-core 时排除commons-logging。这时我们可以使用exclusion来进行排除。
    这里写图片描述

    六、总结

    在使用Maven 时,可能我们只是简单知道Maven 的用法,从而忽略了其中的一些细节。希望这篇博文能够为初步了解Maven 或只会简单使用Maven 的人提供帮助。

    展开全文
  • 数据库的部分依赖、完全依赖、传递依赖

    千次阅读 多人点赞 2018-12-06 13:41:34
    一、部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 例如:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。 二、完全函数...

    一、部分函数依赖:
    设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

    例如:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。

    二、完全函数依赖
    设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

    例如:通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.

    三、传递函数依赖
    设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

    例如:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A

    展开全文
  • maven缺失的依赖包问题解决

    千次阅读 2018-06-02 09:41:20
    常用Maven仓库网址:...

    常用Maven仓库网址:
    http://mvnrepository.com/
    http://search.maven.org/
    http://repository.sonatype.org/content/groups/public/
    http://people.apache.org/repo/m2-snapshot-repository/
    http://people.apache.org/repo/m2-incubating-repository/

    演示添加一个 ojdbc-10.2.0.4.0.jar 的JAR包:

    1.1 登陆http://mvnrepository.com/ 这个地址,在搜索栏中输入你要搜索的 JAR 包的关键字:

    1.2 选择你想要下载的Jar包版本:

    1.3 下载Jar包:

    Maven 安装 JAR 包的命令:

    复制代码
    这里就是上图中的Jar包信息:
    <!-- https://mvnrepository.com/artifact/ojdbc/ojdbc -->
    <!-- (参数一):下载到本地的ojdbc-10.2.0.4.0.jar包的真实存放路径 --> <dependency> <groupId>ojdbc</groupId>-----------------(参数二) <artifactId>ojdbc</artifactId>-----------(参数三) <version>10.2.0.4.0</version>------------(参数四) </dependency>
    复制代码

    用maven命令将jar包移动到maven的本地repository中。

    语法:

    1
    mvn install:install-file -Dfile=jar包的位置(参数一) -DgroupId=groupId(参数二) -DartifactId=artifactId(参数三) -Dversion=version(参数四) -Dpackaging=jar

     我把“ojdbc-10.2.0.4.0.jar”放到了“D:\Program Files\mvn\”下,

    注意:“Program Files”中间有空格,所以要加双引号,另外三个参数,从上面复制过来即可,下面是我安装ojdbc-10.2.0.4.0.jar包使用的命令:

    1
    mvn install:install-file -Dfile="D:\Program Files\mvn\ojdbc-10.2.0.4.0.jar" -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar

    需要注意以下几点:
    1.注意"-"不能缺少 install后面的"-"是没有空格的
    2.注意"-Dfile"中jar包的路径和jar包的名字.
    3.注意看cmd命令提示,查看本地repository中是否成功的复制了jar包.

    重点:Jar包默认都安装在“C:\Users\Administrator\.m2\repository\”下,其实上面的(参数二,参数三,参数四)就是指定安装具体的安装路径。

    以后也可以根据自己需求进行更改参数二,三,四,其实就是更改安装路径)。

    ojdbc-10.2.0.4.0.jar包安装完成:

     


     

     

    作者:唐胜伟
    出处:http://www.cnblogs.com/tangshengwei/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

    展开全文
  • 程序依赖图(Program Dependence Graph)理解

    千次阅读 2019-05-27 19:13:19
    程序依赖图(Program Dependence Graph)是程序的一种图形表示,它是带有标记的有向多重图。系统程序依赖图是软件程序间控制依赖关系和数据依赖关系的图形表示。面向方面的程序是基于面向方面的思想,使用相关的框架或...
  • IDEA中Maven依赖包下载不了的问题解决方案汇总

    万次阅读 多人点赞 2020-07-09 16:46:41
    这个依赖包下载不了的问题真的是很烦,之前一直把下载不上的依赖剪切再粘贴到pom.xml文件中,保存它就自动下载了,但是今天怎么剪切粘贴都没用,所以就花了点时间在网上各种搜解决方案,试了一些之后终于从根本上解决了...
  • 【UML】关联和依赖

    千次阅读 多人点赞 2018-09-29 15:22:13
    UML四大关系中,包括:泛化,实现,关联,依赖。 泛化就是我们在面向对象中提到的继承,而实现则更多的体现在类和接口之间的关系。 关联和依赖相对于上边两个关系,则表现的不是很容易理解,所以我们今天来深入...
  • 函数依赖

    千次阅读 2019-06-07 15:19:54
    函数依赖是指关系中属性间(或者说是表中字段间)的对应关系。 定义:设 R 为任一给定关系,如果对于 R 中属性 X 的每一个值,R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X ,记作 X—&...
  • Intellij IDEA 添加项目依赖

    万次阅读 2016-05-05 10:42:09
    注意不仅要添加module还要添加lib
  • npm 删除已安装的依赖

    万次阅读 2019-05-10 18:05:37
    npm uninstall XXX -S 卸载XXX依赖 npm安装依赖 【npm install xxx】利用 npm 安装xxx依赖到当前命令行所在目录 【npm install xxx -g】利用npm安装全局依赖xxx 【npm install xxx –save】 安装并写入package....
  • 使用 IDEA 解决 Maven 项目循环依赖

    万次阅读 2016-08-11 10:32:01
    使用 IDEA 解决 Maven 项目循环依赖正常情况下,循环依赖是很少见的,当很多个项目互相引用的时候,就可能出现循环依赖,一般根据错误信息也能解决循环依赖,这篇就是讲如何使用 IDEA 轻松的解决循环依赖问题。...
  • 完全函数依赖和部分函数依赖

    万次阅读 多人点赞 2019-01-19 16:27:27
    完全函数依赖 {学号,课号}--&gt;成绩  学号+课号 可以决定 成绩 但只有学号or只有课号无法决定成绩    部分函数依赖  {学号,课号}--&gt;姓名  只有学号就能决定姓名 (课号是冗余的) ...
  • gradle 打印依赖

    万次阅读 2017-04-19 00:05:47
    ./gradlew app:dependencies 通过依赖树具体排查, 找到问题根源,排除掉 ./gradlew dependencies -q --configuration compile
  • 部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 举个例子:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。 完全函数依赖:...
  • 用npm更新依赖

    万次阅读 2019-01-15 16:25:12
    用npm更新依赖前言更新全部依赖更新单个依赖 前言 近日收到了GitHub的提醒,webpack-dev-server在3.1.11版本以下有漏洞,需要更新,故写这篇文章与大家交流一下使用npm对依赖进行更新的方法。 注意:请在项目的根...
  • ubuntu 自动安装依赖包命令

    万次阅读 2017-08-09 22:04:38
    sudo apt-get -f install
  • 一、对循环依赖的基本认识 (一)代码中形成循环依赖的过程及示例 (二)无环依赖的原则 二、识别和消除循环依赖的方法 (一)使用JDepend识别循环依赖 (二)消除循环依赖的三大方法思考 三、案件...
  • maven的依赖 传递性 和 排除

    万次阅读 2020-01-24 11:23:33
    则模块B 依赖 模块1(依赖会传递给B对应的jar包依赖会传递过来) 根据依赖的传递性只需要在底层模块配置依赖,上层模块也会自动添加依赖 依赖排除: 依赖排除通过 <exclusions> <exclusion><...
  • eclipse 添加依赖库的方法

    万次阅读 2014-03-04 14:47:18
    1.java build path=====> add library ===> user library==== user librarys == new ==== sys(自己命名) ==选择sys====add external jars(外界)
  • 如何查看.so文件的依赖关系

    万次阅读 2016-06-12 14:44:17
    objdump -x libxxxxx.so | grep NEEDED
1 2 3 4 5 ... 20
收藏数 2,715,722
精华内容 1,086,288
关键字:

依赖