spring依赖包的下载
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于spring依赖包的下载内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在spring依赖包的下载相关知识领域提供全面立体的资料补充。同时还包含 safari浏览器、samba、SAMP 的知识内容,欢迎查阅!
spring依赖包的下载相关知识
-
怎样在 CentOS 里下载 RPM 包及其所有依赖包前几天我尝试去创建一个仅包含了我们经常在 CentOS 7 下使用的软件的本地仓库。当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包。你必须去花一些时间而且手动的去寻找和下载被安装的软件所依赖的软件包。然而,我们并不是必须这样。在这个简短的教程中,我将会带领你以两种方式下载软件包及其所有依赖包。我已经在 CentOS 7 下进行了测试,不过这些相同的步骤或许在其他基于 RPM 管理系统的发行版上也可以工作,例如 RHEL,Fedora 和 Scientific Linux。方法 1 利用 “Downloadonly” 插件下载 RPM 软件包及其所有依赖包我们可以通过 yum 命令的 “Downloadonly” 插件下载 RPM 软件包及其所有依赖包。为了安装 Downloadonly 插件,以 root 身份运行以下命令。yum install yum-plugin-downloadonly现在,运行以下命令去下载一个 RPM 软件
-
Spring 升级4+ 依赖的JSON包Spring 升级4+ 依赖的JSON包<!-- Spring 升级4+ 依赖的JSON包 --><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.4</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> &l
-
spring依赖注入——循环依赖上一篇博客简单地分析了下依赖注入。但是对于依赖注入的很多细节,都没有深入的分析。这一篇博客会继续分析spring的依赖注入。这篇博客会解决分析getBean缓存时候遗留下来的循环依赖问题。循环依赖分析首先明确下,只有单例情况下,spring才会试着去解决循环依赖问题,多例是不会去解决循环依赖的。这个也好理解,如果是多例的话,比如a -> b 并且 b -> a 那么,当A a=new A(); 之后要注入b,b却是多例的,那么究竟该注入哪个B是不确定的。如下图:接下来我们分析,为啥会有循环依赖的问题。先来分析没有循环依赖的问题public static class A{ private B b; //省略get和set方法}public static class B{ }这个时
-
Spring中的循环依赖circle阅读原文请访问我的博客BrightLoong's Blog什么是循环依赖循环依赖就是循环引用,在spring中,就是两个或者多个bean相互之间持有对方。如下图,ClassA引用ClassB,ClassB引用ClassC,ClassC又引用ClassA,最终它们形成了一个环,这就是循环依赖。circleSpring中的循环依赖spring中将循环依赖分成了3中情况,分别是:构造器循环依赖prototype范围的依赖处理setter循环依赖构造器循环依赖通过构造器注入构成的循环依赖,此依赖无法解决。在Spring中会抛出BeanCurrentlyInCreationException异常表示循环依赖。对于构造器注入构成的循环依赖,在创建ClassA的时候,构造器需要ClassB,然后去创建ClassB,在创建ClassB的时候发现需要ClassA,形成了一个死循环,无法完成创建。prototype范围的依赖处理对于prototype作用域的bean,spring容器无法完成依赖注入,因为s
spring依赖包的下载相关课程
-
Maven项目依赖管理 本套课程主要学习Maven的使用方式,从理念到实践、基础到应用,深入浅出的讲解配合贯穿全程的练习,让你深入掌握基于Maven管理Java项目的方式
讲师:大牧莫邪 入门 12270人正在学习
spring依赖包的下载相关教程
- 3.2 添加依赖包 项目创建成功后,会发现项目上有红色的错误提示,这个不用紧张。因为项目自动创建了一个 jsp 文件,而 jsp 所依赖的 servlet 包我们还没有加进来。打开项目中的 pom.xml 文件,在文件中添加项目所需要的依赖 jar 包:javax.servlet-api: servlet 规范包;spring-context: spring 最基础、最重要的核心包。Maven 有一个依赖传递功能,会自动添加 spring-context 所依赖的其它包;spring-web: spring 对 web 项目的支持包,这个不用解释,肯定不能少;spring-webmvc: 从名字上看,知道它应该是主角,Spring MVC 核心包。完整的依赖信息如下:<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.13.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.13.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.13.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency></dependencies>Maven 会自动从远程仓库下载这些依赖包,项目中也可以看到下载下来的依赖包:大家会看到,除了在 pom.xml 文件中指定的依赖包外,还有其它的包,这个就是 Maven 的依赖传递功能实现的。好了! 有了这些包后,就可以使用 Spring 提供的 WEB MVC API 了。
- 2.2 增加 Spring Security 依赖 首先,我们要将 Spring Boot 环境配置到工程中,也就是在 pom.xml 文件中将当前工程的父级依赖指定为 Spring Boot。此步写法如下,在 pom.xml 文件中增加以下节点信息:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.0.RELEASE</version> <relativePath/></parent>第二步,在配置好父级依赖后,继续在 pom.xml 中增加 Spring Security 依赖「spring-boot-starter-security」。此步写法如下:<dependencies> <!-- 重点依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency></dependencies>第三步,为了让本实例的效果看得见,我们要将它设置成 Web 工程,所以我们需要继续在 pom.xml 文件中添加依赖。此步写法如下:<dependencies> ... <!-- 用于展示认证效果 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>
- 2. 传递性依赖 目前我们的项目只引用了两个依赖,spring-boot-starter 和 spring-boot-starter-test,但是是这样子的吗?为了能够更清晰的看到我们项目依赖的结构,我们可以在 IDEA 里面安装 Maven Helper 插件。安装好之后,我们打开项目的 pom.xml 文件,可以看到在文件的下方多了一个 Dependency Analyzer按钮。打开之后,如下图。从这里我们就可以看到,其实我们不只是引入了两个包,而是引入了很多个包,这是为什么呢?答案是因为 Maven 的传递性依赖机制。在我们这个项目中,我们引入了 spring-boot-starter 依赖,并且该依赖的范围是 compile,但是 spring-boot-starter 作为一个项目也有自己的依赖,在这其中的依赖范围为 compile 的依赖,则会自动转换成我们项目的依赖,例如 spring-boot 依赖,logback-core 依赖。所以,有了 Maven 的传递性依赖机制之后,我们在使用一个依赖的时候,就不再需要考虑它又依赖了哪些,而是直接使用即可,其他的事情 Maven 会自动帮我们做完。
- 2.1 添加依赖包 打开项目的 pom.xml 文件,在其中添加如下内容:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.1</version></dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version></dependency><!-- 数据库驱动包 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.1.1</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.13.RELEASE</version> <scope>compile</scope></dependency>Tips:Spring MVC 连接数据库时,需要添加 spring-jdbc 依赖包。
- 4.1 排除依赖 传递性依赖可以帮助我们简化项目依赖的管理,但是同时也会带来其他的不必要的风险,例如:会隐式地引入一些依赖,这些依赖可能并不是我们希望引入的,或者这些隐式引入的依赖是 SNAPSHOT 版本的依赖。依赖的不稳定导致了我们项目的不稳定。在我们的项目中,spring-boot-starter-test 依赖中排除了 junit-vintage-engine 依赖是由于我们使用的 springboot 版本是 2.2.6-RELEASE,对应的 Junit 版本是 5.x,但 junit-vintage-engine 依赖中包含了 4.x 版本的 Junit,此时我们就可以将该依赖排除。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions></dependency>在 exclusions 标签中,可以有多个 exclusion 标签,用来排除不需要的依赖。
- 1.1 依赖的范围 Maven 在编译和运行以及执行测试用例的时候,分别会使用不同的 classpath。而 Maven 的依赖范围则是用来控制依赖与不同 classpath 关系的。Maven 的依赖范围分为以下几种:compile: 编译依赖范围。Maven 默认的依赖范围,该范围的依赖对编译,运行,测试不同的classpath 都有效。例如我们项目中的 spring-boot-starter;test: 测试依赖范围。该依赖范围只对测试 classpath 有效,在编译项目或者运行项目的时候,是无法使用此类依赖的。例如我们项目中的 spring-boot-starter-test;provided: 已提供依赖范围。该 Maven 依赖对于编译和测试的 classpath 有效,但是在运行时无效;runtime: 运行时依赖范围。顾名思义,该依赖范围对测试和运行的 classpath 有效,但是在编译时无效;system: 系统依赖范围。该依赖范围与 classpath 的关系与 provided 依赖范围是相同的。但是,在使用时需要谨慎注意,因为此类依赖大多数是与本机绑定的,而不是通过Maven仓库解析出来的,切换环境后,可能会导致依赖失效或者依赖错误。
spring依赖包的下载相关搜索
-
s line
safari浏览器
samba
SAMP
samplerate
sandbox
sanitize
saper
sas
sass
save
smarty模板
smil
smtp
snapshot
snd
snmptrap
soap
soapclient
soap协议