对Maven、gradle、svn、spring 3.0 fragment、git的想法
1.Maven
Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目。同时可结合spring3.0的新特性web fragment。
从现实出发,特别是对于管理不到位,程序员整体素质不是那么高的开发团队,采用这种方式未必能发挥其优势和功效,反而会成为制约前进的一种方式。
2.Gradle
对于gradle我是相当喜欢和推崇。但推崇不能盲目,和Maven一样拥有中央仓库且支持多种仓库方式。
同样站在开发团队管理和日常开发效率、舒适度、方便程度角度出发,我建议采用gradle的maven中央仓库来拆解传统jar包全在lib文件夹里的方式,是比较合理且无需太大的代价。此处的代价即人力成本、管理成本、学习成本等。
3.spring 3.0 fragment
Spring3.0的几个特性,确实让人无不欣喜若狂。而其中的web fragment对java面向对象模块化开发更是给了当头一棒,立刻让人醍醐灌顶。
有人说其实java面向对象没有什么模块化开发的概念,但是java底层类库又何尝不是一种模块化开发的思想呢。
如果不用gradle、maven、fragment构建项目,也未尝不可。因为我们用来千里之外,直取上将首级的杀人工具eclipse的Deployment Assembly在一档程度上可以实现主项目引用其他项目,以模块化的思想进行调用和开发。
但有了gradle,我们可以以极小的代价去除我们长久以来的老大难:lib中的jar太多太多。多的有些让人暴躁如雷,甚至同样是log4j,却出现了不同的版本。无意中想起一首歌,“神啊,救救我吧”。
有了fragment,我们可以更加彻底的实现模块化,不仅仅分割java代码实现后台服务层组件的低耦合,前台的页面也可以实现组件化。
4.Svn
从第一次用svn到现在,即便是将项目转移到了git上。我依然认为svn是个不错的工具。尽管有人列举出git的种种有点而将svn贬低的一无是处。诸如git可以实现分支管理,快速回滚等等优势。
很多转向git的开发团队说出的最多的原因,可能是git可以实现版本的迭代控制、分支管理,功能特别强大。其实我想说,svn在团队管理好的情况下也可以实现类似的功能。也许工作了稍微大了些,也许需要的代价比git大了写。但是这并不能掩盖svn也是个不错的工具的事实。
那重点来了,我为什么现在将项目转移到git。其实原因很简单,我没用过git,我想要尝试新的东西,同时git 的分制管理、版本迭代的天生优势也是我迫切急需的。
5.Git
Git的分支管理、版本迭代已经被大众耳熟能详了。好处就不再赘述了,我给git打99分。剩下的一分是怕他骄傲。哈哈。
大家可以登陆廖雪峰的网站,了解了解git。
对Maven、gradle、svn、spring 3.0 fragment、git的想法的更多相关文章
- ssh框架整合---- spring 4.0 + struts 2.3.16 + maven ss整合超简单实例
一 . 需求 学了这么久的ssh,一直都是别人整合好的框架去写代码,自己实际动手时才发现框架配置真是很坑爹,一不小心就踏错,真是纸上得来终觉浅! 本文将记录整合struts + spring的过程 , ...
- 使用spring 4.0 + maven 构建超简单的web项目
一.需求 使用spring去管理web项目,是目前非常流行的一种思路,本文将介绍使用maven+spring 4.0.2 来构建一个简单的web项目. 二.实现 1.新建一个maven项目,如下图所示 ...
- Myeclipse下使用Maven搭建spring boot2.0项目
现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...
- Spring Framework5.0 学习(1)—— 用Gradle构建一个Java Project
1.0 安装Gradle,参考之前文章<Gradle入门实战(Windows版)> 2.0 使用gradle 快速生成一个Java project gradle init --type ...
- spring boot 2.0(一)权威发布spring boot2.0
Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring ...
- [JSP]Maven+SSM框架(Spring+SpringMVC+MyBatis) - Hello World
来源:http://blog.csdn.net/zhshulin/article/details/37956105?utm_source=tuicool&utm_medium=referral ...
- 用Gradle构建Spring Boot项目
相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本.本文将从无到有创建一个用Gradle构建的Spring Boot项目, ...
- 基于Maven + SSM (Spring、SpringMVC、Mybatis)构建一个简单的测试项目
最近在公司实习期间的培训交流中有机会接触到SSM,然后自己花费1周的时间投入学习.谈不上深刻理解其中原理,所以没有涉及理论知识,只是浅层次的学习如何使用,在此将学习过程记录整理出来,一方面自己备用:另 ...
- java进阶之-Maven,svn,git,maven合拼多个项目
git的使用介绍(写很容易懂得哦) maven合拼多个项目(写得很好哦) MAVEN作用:统一开发规范与工具:统一管理jar包 1.下载MAVEN 下载绿色版的面安装 2.环境配置 eclipse想 ...
随机推荐
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL
在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...
- 最新 去掉 Chrome 新标签页的8个缩略图
chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...
- 移动端IOS点击事件失效解决方案
解决方案 解决办法有 4 种可供选择: 1 将 click 事件直接绑定到目标元素(即 .target)上 2 将目标元素换成 <a> 或者 button 等可点击的元素 3 将 clic ...
- WebApi接口 - 如何在应用中调用webapi接口
很高兴能再次和大家分享webapi接口的相关文章,本篇将要讲解的是如何在应用中调用webapi接口:对于大部分做内部管理系统及类似系统的朋友来说很少会去调用别人的接口,因此可能在这方面存在一些困惑,希 ...
- SVD奇异值分解的基本原理和运用
SVD奇异值分解: SVD是一种可靠的正交矩阵分解法.可以把A矩阵分解成U,∑,VT三个矩阵相乘的形式.(Svd(A)=[U*∑*VT],A不必是方阵,U,VT必定是正交阵,S是对角阵<以奇异值 ...
- WEB安全隐患
org.apache.commons.lang.StringEscapeUtils 进行输入框内容处理 [StringEscapeUtils.escapeSql(str);StringEscapeUt ...
- ReactiveCocoa代码实践之-UI组件的RAC信号操作
上一节是自己对网络层的一些重构,本节是自己一些代码小实践做出的一些demo程序,基本涵盖大多数UI控件操作. 一.用UISlider实现调色板 假设我们现在做一个demo,上面有一个View用来展示颜 ...
- DockerCon 2016 – 微软带来了什么?
根据Forrester的调查,接近半数的企业CIO在考虑IT架构的时候更乐于接受开源方案,这主要是基于低成本,避免供应商锁定和敏捷的需求:同时另外一家North Bridge的调研机构的调查显示,20 ...
- PLSql Oracle配置
1.安装Oracle客户端或者服务端 2.配置环境变量 <1>.一般如果安装了Oracle客户端或者服务端的话,在环境变种的Path中有Oracle的安装路径(计算机-属性-高级系统设置- ...