首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏朱永胜的私房菜

    dubbo(2.7.3) 6.基本依赖

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top Dubbo 依赖基本介绍 必须依赖 JDK 1.6+ 1[1] 缺省依赖 通过 mvn dependency:tree > dep.log 命令分析,Dubbo 缺省依赖以下三方库: [INFO] +- com.alibaba:dubbo:jar:2.5.9-SNAPSHOT 可选依赖 以下依赖,在主动配置使用相应实现策略时用到,需自行加入依赖。 thrift: 0.8.0 servlet: 3.0 5 [5] validation-api: 1.1.0.GA 5 [6] 1.2.16 参考资料 [1] 1: #fn:1 [2] 2: #fn:2 [3] 3: #fn:3 [4] 4: #fn:4 [5] 5: #fn:5 [6]

    31810编辑于 2023-12-12
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Android 依赖管理 ④ ( 常用依赖配置分析 | implementation 依赖作用 | api 依赖作用 | compileOnly 依赖作用 )

    文章目录 一、compile 依赖作用 二、implementation 依赖作用 三、api 依赖作用 四、compileOnly 依赖作用 五、annotationProcessor 依赖作用 六 、lintChecks 依赖作用 在本篇博客中逐一分析以下依赖配置 : implementation api compileOnly runtimeOnly annotationProcessor lintChecks B 依赖库 , 最终 B 依赖库会打包到 A 项目的 Apk 文件中 ; 如果 C 项目 依赖 A 项目 , 由于 compile 配置会 传递依赖 , C 项目也需要将 B 依赖库导入到自己的依赖中 非常低 , 构建时会 不停的检查依赖树 , 发现依赖传递后 , 还要 添加依赖依赖 ; 二、implementation 依赖作用 ---- implementation 依赖作用 : 编译打包 : , 发现依赖传递后 , 还要 添加依赖依赖 ;因此 这两个 依赖方式 不常用 , implementation 依赖是当前最常见的依赖方式 ; 三、api 依赖作用 ---- api 依赖作用 :

    2.9K10编辑于 2023-03-30
  • 来自专栏我们一无所有,我们巍然矗立

    Spring依赖注入源码分析

    Spring依赖注入 文章目录 Spring依赖注入 Chapter 1 Spring依赖注入源码分析 1 调用示例 2 DefaultListableBeanFactory#resolveDependency 方法分析 3 DependencyDescriptor 4 doResolveDependency 5 resolveMultipleBeans 6 findAutowireCandidates 7 beanNamesForTypeIncludingAncestors 8 isAssignableFrom 9 determineAutowireCandidate 10 determinePrimaryCandidate Chapter 1 Spring依赖注入源码分析 // 关闭容器 applicationContext.close(); } } 2 DefaultListableBeanFactory#resolveDependency方法分析 autowiredBeanNames.addAll(matchingBeans.keySet()); } return matchingBeans; } else { return null; } } 6

    80930编辑于 2022-07-30
  • 来自专栏软件开发-青出于蓝

    SpringBoot之依赖分析

    图2 SpringBoot-1.4.8源码目录结构 spring-boot-dependencies中无Java代码,它的dependencyManagement中定义了很多依赖,并指定了版本。 spring-boot-starter-parent中无Java代码,它的dependencyManagement中,spring-core依赖排除commons-logging依赖,如下所示: <dependencyManagement dependency> </dependencies> </dependencyManagement> spring-boot-parent中无Java代码,它的dependencyManagement中新增了一些依赖 spring-boot-starter中无Java代码,但它的dependencies添加了一些依赖,代码如下: <dependencies> <dependency> <groupId>org.springframework.boot

    1.3K20发布于 2019-04-15
  • 来自专栏软件工程

    SpringBoot起步依赖原理分析

    为什么我们需要进行起步依赖的配置?

    23420编辑于 2022-05-13
  • 来自专栏phodal

    自动化依赖分析

    依赖分析之后,你的架构还好吗? 在过去的几周里,我一直在做一些重构相关的工作,也尝试着去做这方面的自动化。于是乎,就有了上一篇文章:《重构的自动化》。 在图中,我们可以看出类间的依赖关系,从而进一步分析他们的引用问题。虽然,对于采用分层架构的应用来说,这样的问题并不容易出现。但是,我们仍在一定的范围内,看到了 service 间的相互调用。 于是,在参考了公司大佬的开源依赖分析项目: 基于 Antlr 进行 Java 依赖分析 https://github.com/XuefengWu/dependence_java 基于 Doxygen 进行多种语言的依赖分析 https://github.com/newlee/tequila 随之而后,我便也着手做了一个相关的 Java 依赖分析工具:https://github.com/phodal/coca 。 第三方依赖依赖功能分析 TBD 这部分的内容,主要指的是依赖间的功能重复,如各类 Util,像 FileUtils,TimeUtils 诸如此类。' 结论 你呢,有什么建议?

    1.8K30发布于 2019-11-21
  • 来自专栏全栈程序员必看

    babel转换es6_ideamaven依赖配置

    用Babel-cli将ES6转ES5 一、为什么要转ES5 虽然ES6非常好用,但并不是所有浏览器所有客户端都适应ES6的,降成ES5是为了更强的使用性。 图片 4.在文件夹下创建.babelrc配置文件,并在里面写上以下内容 { "presets":"latest" } 图片 三、开始转换 1.单文件转换 假如我要将名为ES6. js的es6文件转化成名为ES5.js的ES5文件,在终端输入以下命令 babel .\01-ES6.js --out-file 01-es5.js 你会发现文件夹目录下新增了一个文件

    42820编辑于 2022-09-29
  • 来自专栏MasiMaro 的技术博文

    vim 从嫌弃到依赖(6)——插入模式

    插入模式是vim中主要用来处理输入的一种模式,在这种模式中,用户的输入的字符会显示在窗口中。该模式中的行为与在普通编辑器中输入类似。由于在该模式中输入的字符会被当做有效输入,因此该模式下涉及的到命令也少,内容也不多,这一篇文章差不多就能讲完

    1.1K40编辑于 2022-05-10
  • 来自专栏烟草的香味

    6大设计原则之依赖倒置原则

    翻译过来,包含如下三层含义: 高层模块不应该依赖低层模块,两者都应该依赖其抽象 抽象不应该依赖于细节 细节应该依赖于抽象 高层模块和低层模块容易理解,每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块 依赖倒置原则在Java语言中表现为: 模块间的依赖通过抽象产生,实现类之间不发生直接依赖,其依赖关系是通过接口或抽象类产生的 接口或抽象类不依赖于实现类 实现类依赖接口或抽象类 依赖倒置原则的好处 采用依赖倒置原则可以减少类间的耦合性 依赖的三种写法 在开发中,对象的依赖关系有三种方式来传递 1.构造函数传递依赖对象 在类中通过构造函数声明依赖对象,这种方式叫做构造函数注入 2.Setter方法传递依赖对象 在抽象中设置Setter方法声明依赖关系 , 在对象创建后,调用方法注入,这种方式叫做 Setter依赖注入 3.接口声明依赖对象 在具体方法中声明依赖对象,在调用方法时将对象传入, 这种方式叫做 接口注入 ---- 依赖倒置原则的本质就是通过抽象使各个类或模块的实现彼此独立 ,抽象类负责公共构造部分的实现,实现类精确的实现业务逻辑同时在适当的时候对父类进行细化 ---- 依赖倒置原则是6个设计原则中最难以实现的原则,他是实现开闭原则的重要途经,依赖倒置原则没有实现,就别想实现对扩展开放

    69030发布于 2019-07-25
  • 来自专栏学习笔记ol

    小谈设计模式(6)—依赖倒转原则

    小谈设计模式(6)—依赖倒转原则 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。 核心思想 通过抽象来解耦高层模块和低层模块之间的依赖关系。 关键点分析 a 高层模块不应该依赖于低层模块的具体实现,而是依赖于抽象接口。 高层模块可以根据自己的需求定义接口的方法和属性,而不需要依赖于低层模块的具体实现细节。 c 依赖注入是实现依赖倒转原则的重要手段。通过依赖注入,高层模块可以将具体实现类的对象传递给抽象接口。 优缺点分析 优点 降低模块间的耦合度 通过依赖倒转原则,高层模块不依赖于低层模块的具体实现,而是依赖于抽象接口。这样可以使得模块之间的耦合度降低,提高代码的灵活性和可维护性。 smsNotificationService.sendNotification("Hello, this is an SMS notification."); } } 示例分析

    40220编辑于 2023-10-11
  • 来自专栏DotNet NB && CloudNative

    精:.NET 6整合 autofac 依赖注入容器

    常看到java的学习资料或博客,标题一般为《SpringBoot 整合 XXX》,所以仿照着写了《.NET 6 整合 Autofac 依赖注入容器》这样一个标题。

    67030编辑于 2023-08-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 依赖管理 ⑥ ( dependencies 依赖查找路径 | dependencies 依赖冲突 | dependencies 依赖库层级分析 )

    文章目录 一、dependencies 依赖查找路径 二、dependencies 依赖冲突问题 三、dependencies 依赖库层级分析 Android Plugin DSL Reference 函数库 ; 在上一篇博客 【Android Gradle 插件】Gradle 依赖管理 ⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号 | 动态指定依赖版本号 | 使用命令行查看模块 ) 中介绍了如果配置了两个相同的依赖 , 则选取较高版本的依赖库 , 因此原理上 , 不会出现依赖冲突问题 ; 三、dependencies 依赖库层级分析 ---- 分析依赖问题 , 就需要查看依赖情况 , 在 Terminal 面板中执行 gradlew :app:dependencies 命令 , 查看依赖的情况 , 逐个排查依赖冲突问题 ; 在输出日志中 , 可以查看顶层依赖库 , 与依赖库的依赖库之间的依赖关系 ; com.android.support.constraint:constraint-layout:2.0.1 是顶层依赖库 , +--- com.android.support.constraint

    2.6K40编辑于 2023-03-30
  • 来自专栏小赵Java总结

    【源码分析】Spring依赖注入原理

    文章目录 一、三种依赖注入方式 字段注入 构造器注入 Setter注入 二、依赖注入原理 Bean 注册 Bean 实例化 ---- 一、三种依赖注入方式 在Spring中提供了三种实现依赖注入的方式: 接下来进行分析一下。 避免使用字段注入第二个原因:可能导致潜在的循环依赖。循环依赖指的是两个类之间互相进行注入。 二、依赖注入原理 前面介绍完依赖注入的三种实现方式,接下来结合Spring源码深入的了解下依赖注入的原理,通过Bean 注册和Bean 实例化两个模块进行阐述。 至此分析Spring中Bean依赖注入的过程就全部结束,希望对大家有所帮助!!!

    1.6K31编辑于 2022-12-01
  • 来自专栏深度学习与计算机视觉

    Python使用pipreqs分析项目依赖

    Python的程序一般需要很多依赖包,如果想要把这些包导出成requirements.txt的形式,常规的方法是直接使用pip freeze命令: pip freeze > requirements.txt 随后,在另一个环境中使用: pip install -r requirements.txt 从requirements.txt中恢复依赖环境。 与pip freeze不同,pipreqs会分析当前项目的依赖,并且只导出当前项目需要的包: 首先安装pipreqs: pip install pipreqs 将路径定位到项目的root路径,如果当前就在

    2.6K10发布于 2020-03-25
  • 来自专栏Unity3d程序开发

    Unity3d+GameFramework:资源分析,资源依赖,循环依赖检测

    资源依赖 先生成Resource 根据ResourceCollection.xml Resource resource = Resource.Create(name, variant, fileSystem f0ce9e0e8a0456d4f992300134cfd602”,“Name”:“Assets/GameMain/luoyikun/Cube2.prefab”,“Resource”:null} 生成依赖关系 } 出现a等待b,b等待a,因为 GameFramework.Resource.ResourceManager.ResourceLoader.LoadResourceAgent.Start //遍历依赖 stamp的依赖 if (visited.Contains(stamp.DependencyAssetName)) { ,递归调用,cube2放入visited ,route的最后 递归,遍历所有依赖对,cube2不是记录1的host,跳过记录1 来到记录2,此时visited包含了cube1,把cube1插入route

    69830编辑于 2023-08-24
  • 来自专栏Spark学习技巧

    IDEA依赖冲突分析神器—Maven Helper

    此插件可用来方便显示maven的依赖树,在没有此插件时,如果想看maven的依赖树需要输入命令行:mvn dependency:tree 才可查看依赖。 如果想看是否有依赖包冲突的话也需要输入命令行等等的操作。而如果安装Maven Helper插件就可免去命令行困扰。通过界面即可操作完成。 ? All Dependencies as List(列表形式查看所有依赖) 3. All Dependencies as Tree(树形式查看所有依赖) 下图是项目文件pom.xml在Dependency Analyzer视图中的显示: ? 点个在看少个 bug

    13.9K30发布于 2021-03-05
  • 来自专栏前端杂货铺

    AngularJS源码分析依赖注入$injector

    当然,IoC的好处并不仅限于此,它也降低了对依赖的耦合度,不必在代码中进行引用或者传参即可操作依赖。          fn.slice(0, last); } else { assertArgFn(fn, 'fn', true); } return $inject; } annotate函数通过对入参进行针对性分析 ,若传递的是一个函数,则依赖模块作为入参传递,此时可通过序列化函数进行正则匹配,获取依赖模块的名称并存入$inject数组中返回,另外,通过函数入参传递依赖的方式在严格模式下执行会抛出异常;第二种依赖传递则是通过数组的方式 首先获取函数的所有依赖名,通过annotate方法完成之后,如果options中提供了对于名称的依赖,则使用,否则通过get方法获取依赖,最后传入函数,并将函数的执行结果返回。 注册服务(依赖)           服务不可能凭空而来,我们需要自己实现或者外部引入服务或依赖。所以,注册服务的模块也是值得深究的。

    1.7K50发布于 2018-03-15
  • 来自专栏Devops专栏

    4-SpringBoot 起步依赖原理分析

    4-SpringBoot 起步依赖原理分析 SpringBoot 起步依赖原理分析 在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本。 我们的工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在版本冲突等问题。 分析 pom.xml 中的父工程依赖 spring-boot-starter-parent “在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本 分析 pom.xml 中依赖的 spring-boot-starter-web 看完了两个启动依赖,我们就知道 springboot 将需要依赖全部打包,提供我们快捷使用,不需要我们逐个去考虑版本进行编写

    39130编辑于 2022-03-23
  • 来自专栏iSharkFly

    IntelliJ IDEA Maven 项目的依赖分析

    选择 Maven 项目中的分析依赖。随后,IntelliJ IDEA 将会打开一个依赖分析的标签页。在这个标签页中,我们可以看到我们项目中导入的依赖有哪些冲突,并且这些冲突是怎么冲突的。 如上图中,带有感叹号的就是有冲突的依赖。这个时候,我们可以选择过滤只看有冲突的包。同时,我们还可以知道有冲突的包是怎么引入的,是那几个包的引入导致了冲突。总结不是所有的冲突都能够被解决的。

    67430编辑于 2023-10-12
  • 来自专栏codelang

    (二)组件治理之依赖层级分析

    1、为什么要分析依赖层级 在组件化模式的开发架构下,组件依赖是海量的,比如我们的壳工程下面的依赖就有上千个,但他们之间的引用关系是不知道的,在业务开发过程中,对于其他业务组件的调用,我们约定以 api 2、分析依赖层级带来的好处 分析依赖层级可以提前检查出哪些组件有不合规的引用情况,并且,在整个层级上可以看到哪块业务组件使用的频率高,哪些组件在调用自己的业务组件,以便在改造自己业务组件时提前预估影响面 3、如何分析依赖层级 方案一:通过依赖 pom 分析 在业务开发过程中, 我们会将需要的子依赖添加到 dependencies 中,在发布组件时,可以将子依赖也打入 pom,这时,就可以通过分析组件 方案二:通过字节码分析 通过字节码分析组件的 class 文件引用情况,如果有引导到外部的类、字段、方法等,就记录他们之间的依赖关系。该方案的优点通过字节码分析出来的引用是真实引用。 4、字节码分析效果图 以下是通过字节码插件分析 group 为 androidx.activity 依赖的引用关系: 5、组件引用边界处理 在上面我们有提到业务组件依赖了其他业务的实现模块,这种能不能在业务开发阶段就发现呢

    51340编辑于 2023-11-20
领券