maven 父maven_Maven的春天

maven 父maven

1.概述

本教程将讨论如何使用Maven设置Spring,并介绍使用Spring依赖项的特定用例。 最新的Spring版本可以在Maven Central中找到。

2.基本的Maven Spring依赖关系

Spring的设计具有模块化和灵活性–基本的Spring容器可用于多种情况,而无需包含框架必须提供的任何更高级的功能。 一个非常基本的Maven设置将只需要使用spring-context依赖项:

<properties><org.springframework.version>3.2.4.RELEASE</org.springframework.version>
</properties>
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework.version}</version><scope>runtime</scope>
</dependency>

此依赖关系(即spring-context )定义了实际的Spring Injection Container,并具有少量依赖关系: spring-corespring-expressionspring-aopspring-beans 。 这些通过启用对某些Spring核心技术的支持来增强容器:Core Spring实用程序, Spring Expression Language (SpEL), Aspect Oriented Programming支持和JavaBeans机制 。

请注意,在定义spring-context依赖项时使用了运行时作用域 -这将确保在任何特定于Spring的API上都没有编译时依赖项。 对于更高级的用例,可以从某些选定的Spring依赖项中删除运行时范围,但是对于更简单的项目, 无需针对Spring进行编译即可充分利用框架。

还要注意,从Spring 3.2开始,已经重新打包了CGLIB依赖关系 (现在已升级到CGLIB 3.0)(所有net.sf.cglib软件包现在都是org.springframework.cglib),并直接内联到spring-core JAR中(请参见)。 JIRA了解更多详细信息),因此无需明确定义它。

3. Maven的Spring持久性

除了上面显示的核心Spring依赖项之外,主要的Spring持久性依赖项是spring-orm

<dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${org.springframework.version}</version>
</dependency>

这带来了Hibernate和JPA支持(例如HibernateTemplateJpaTemplate )以及一些与持久性相关的其他依赖项: spring-jdbcspring-tx 。 JDBC数据访问库定义了Spring JDBC支持以及JdbcTemplate ,并且spring-tx表示Spring中极其灵活的事务管理抽象 。

4. Spring MVC与Maven

要使用Spring Web和Servlet支持,除了上面的核心依赖关系外,pom还需要包含两个依赖关系:

<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${org.springframework.version}</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework.version}</version>
</dependency>

spring-web依赖项包含用于Servlet和Portlet环境的通用的Web特定实用程序,而spring-webmvc启用对Servlet环境的MVC支持 。 由于spring-webmvcspring-web作为依赖项,因此在使用spring-webmvc时不需要显式定义spring-web

5. Maven的Spring Security

安全性Maven依赖项在Spring Security with Maven文章中进行了深入讨论。

6.弹簧测试

可以通过以下依赖项将Spring Test Framework包含在项目中:

<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope>
</dependency>

从Spring 3.2开始,Spring MVC Test项目从github上的一个独立项目开始,已经包含在核心Test Framework中。 这意味着Spring 3.2应用程序应该只使用spring-test依赖项。

对于仍使用Spring 3.1及更低版本的应用程序,较旧的独立Maven依赖项仍然存在,并且可以用于几乎相同的结果。 但是,该依赖项不在Maven Central上,因此使用它需要将自定义存储库添加到项目的pom中。

7.使用里程碑

Spring的发行版托管在Maven Central中。 但是,如果项目需要使用里程碑版本,则需要将自定义Spring存储库添加到pom:

<repositories><repository><id>repository.springframework.maven.milestone</id><name>Spring Framework Maven Milestone Repository</name><url>http://maven.springframework.org/milestone</url></repository>
</repositories>

已经定义了一个此存储库,项目可以定义依赖项,例如:

<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>3.2.0.RC2</version>
</dependency>

8.使用快照

与里程碑类似,快照托管在自定义存储库中:

<repositories><repository><id>repository.springframework.maven.snapshot</id><name>Spring Framework Maven Snapshot Repository</name><url>http://maven.springframework.org/snapshot</url></repository>
</repositories>

在pom中启用SNAPSHOT存储库后,可以引用以下依赖项:

<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>3.3.0.BUILD-SNAPSHOT</version>
</dependency>

乃至:

<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.0.0.BUILD-SNAPSHOT</version>
</dependency>

9.结论

本文讨论了将Spring与Maven结合使用的实际细节。 这里介绍的Maven依赖关系当然是一些主要的依赖关系,还有其他一些值得一提且尚未削减的依赖关系。 不过,这应该是在项目中使用Spring的良好起点。

参考:在baeldung博客中,我们JCG合作伙伴 Eugen Paraschiv的Maven带来了Spring 。

翻译自: https://www.javacodegeeks.com/2013/04/spring-with-maven.html

maven 父maven

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...

我正在尝试创建一个包含表格的波斯语PDF,我想写入它.当我的字符串很长时,它不能正确地适合单元格.感觉像字符串填充单元格颠倒&#xff01;…我的意思是,例如,当我想写“你好我的朋友.什么事情&#xff1f;”在单元格中输出如下&#xff1a;|这是怎么回事&#xff1f; ||我的朋…

emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...

1.准备一台笔记本电脑&#xff0c;一根网线即可。2.将网线一头连接笔记本电脑&#xff0c;另一头连接存储。(连接存储的一头应连接到有扳手图标的那一网口上)3.配置IP地址IP&#xff1a;128.221.1.254子网掩码&#xff1a;255.255.255.04.ping 128.221.1.250看是否能ping通&…

浙大JAVA实验题12_2019浙大计算机考研机试模拟赛(2)——概念专题

题目链接 引用自晴神OJA - 边覆盖B - 极大独立集C - 稳定婚姻问题D - 笛卡尔树没赶得上全程的比赛&#xff0c;就做了两道&#xff0c;后面两道以后有时间再补。两道都是概念题&#xff0c;比较基础~ 以下是题解A - 边覆盖Case Time Limit: 200 MS (Others) / 400 MS (Java) …

hadoop小型集群_小型Hadoop集群的Ganglia配置和一些故障排除

hadoop小型集群Ganglia是一个针对大型集群的开源&#xff0c;可扩展且分布式的监视系统。 它收集&#xff0c;汇总并提供数十种与计算机相关的指标&#xff08;例如CPU&#xff0c;内存&#xff0c;存储&#xff0c;网络使用情况&#xff09;的时序视图。 您可以在UC Berkeley …

java 异常堆栈日志分析_Java 进阶之路:深入解读 Java 异常堆栈丢失原因

在应用程序的开发和维护中&#xff0c;通常需要借助运行日志来监控和定位问题。其中&#xff0c;在日志中打印异常堆栈信息对于定位问题极为重要&#xff0c;因此&#xff0c;作为一名工程师&#xff0c;对打印异常堆栈应该不陌生。笔者在实践中曾遇到一个奇怪的现象: Java 应用…

使用Spock Mocks进行Grails 3.3集成测试

在Grails单元测试中&#xff0c;可以轻松使用Grails随附的Spock框架来模拟或存根协作者&#xff08;例如服务&#xff09;。 “ 测试”一章对模拟协作者&#xff0c; doWithSpring / doWithConfig回调方法&#xff0c;在测试中模拟bean的FreshRuntime批注进行了一些解释&#…

PHP ERROR_PHP 处理错误函数

错误级别Fatal Error:致命错误(脚本终止运行)E_ERROR //致命的运行错误&#xff0c;错误无法恢复&#xff0c;暂停执行脚本E_CORE_ERROR //PHP启动时初始化过程中的致命错误E_COMPILE_ERROR //编译时致命性错&#xff0c;就像由Zend脚本引擎生成了一个E_ERRORE_USER_ERROR //自…

php接收文件,如何通过php 发送与接收流文件

php 发送与接收流文件sendStreamFile.php 把文件以流的形式发送receiveStreamFile.php 接收流文件并保存到本地sendStreamFile.php<?php /** php 发送流文件* param String $url 接收的路径* param String $file 要发送的文件* return boolean*/function sendStreamFile($u…

elasticsearch和php,快速开始 | Elasticsearch-PHP | Elastic

快速开始edit这一节会概述一下客户端以及客户端的一些主要方法的使用规则。在 composer.json 文件中引入 elasticsearch-php&#xff1a;{"require": {"elasticsearch/elasticsearch": "~6.0"}}用 composer 安装客户端&#xff1a;curl -s http:…

spring aop组件_安全性中的Spring AOP –通过方面控制UI组件的创建

spring aop组件以下文章将显示在我参与的一个项目中&#xff0c;我们如何使用Spring的AOP来介绍一些与安全性相关的功能。 这样的概念是&#xff0c;为了使用户能够看到某些UI组件&#xff0c;他需要具有一定级别的安全特权。 如果不满足该要求&#xff0c;则不会显示UICompone…

使用Spring Boot构建RESTFul服务

每个人都在谈论微服务&#xff0c;例如WSO2微服务框架 &#xff0c; Spring Boot等。由于我已经很长时间没有从事任何与Spring相关的项目了&#xff0c;所以我想到了使用Spring Boot实现一个简单的RESTFul服务。 因此&#xff0c;我从Spring文档开始。 这很简单。 您可以使用“…

php分页操作,PHP实现适用于文件内容操作的分页类

本文实例为大家分享了PHP实现文件内容操作的分页类&#xff0c;强调一下只针对文件的操作&#xff0c;供大家参考&#xff0c;具体内容如下class StrPage {private $current; //当前页private $file; //操作文件private $totalPage; //总的页数private $url; //传递的参数priva…

php imagemagick 文档,调用ImageMagick的PHP函数中文文档

bool imagick_writeimage([source image handle],[new name & filetype]) 写图片 UN KNOW USE imagick_writeimages new_handle imagick_clonehandle([image handle]) 复制出新句柄 image_handle imagick_image2blob([blob handle]) 将数据流数据转换成为image数据 ima…

java.util接口_Java 8中java.util.function包中的谓词和使用者接口

java.util接口在上一篇文章中&#xff0c;我写了关于Function接口的内容 &#xff0c;它是java.util.package的一部分。 我还提到了Predicate接口&#xff0c;它是同一包的一部分&#xff0c;在这篇文章中&#xff0c;我将向您展示如何使用Predicate和Consumer接口。 让我们看一…

php datetime 对象,PHP DateTime 对象和 Date 函数的 Demo

DateTime对象//设置时间时区date_default_timezone_set("PRC");$dateFormat "Y-m-d";$dateTimeFormat "Y-m-d H:i:s";//获取当前时间$date new DateTime();echo $date->format($dateTimeFormat) . "\n";//时间2015-01-01加上7年…

将Swagger与Spring Boot REST API集成

在上一篇文章中&#xff0c;我谈到了我使用Spring Boot创建RESTFul Services的经验。 在创建REST API时&#xff0c;正确的文档是其中的必需部分。 昂首阔步是什么&#xff1f; Swagger &#xff08;Swagger 2&#xff09;是用于描述和记录REST API的规范。 它指定了REST Web…

php滴滴平台接口,图片服务API文档

简介滴滴云图片服务API提供标准的轻量级无状态HTTP接口&#xff0c;支持用户对数据的全方位管理。接口概览API描述图片信息获取文件的基本信息&#xff0c;包括长度、宽度、文件大小、格式。图片旋转将图片按顺时针旋转。图片模糊对图片进行模糊操作。图片缩放将图片缩小或者放…

drools。drools_Drools Planner重命名为OptaPlanner:宣布www.optaplanner.org

drools。drools我们很自豪地宣布&#xff0c;从版本6.0.0.Beta1开始&#xff0c;将Drools Planner重命名为OptaPlanner。 我们也很高兴推出其新网站&#xff1a; www.optaplanner.org。 OptaPlanner优化了业务资源的使用。 每个组织都面临计划方面的问题&#xff1a;以有限的有…

php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

《PHP编程&#xff1a;yii2-GridView在开发中常用的功能及技巧总结》要点&#xff1a;本文介绍了PHP编程&#xff1a;yii2-GridView在开发中常用的功能及技巧总结&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。相关主题&#xff1a;YII框架数据网格或者说 Gr…

Spring Boot – spring.config.name –案例研究

当必须在不同配置中使用相同的应用程序代码时&#xff0c;外部化Spring Boot应用程序属性会很有用。 如果spring.config.location配置远离源代码&#xff08;无论如何spring.config.location被认为是最佳实践&#xff09;&#xff0c; spring.config.location环境属性可以用于指…