对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想 ...
随机推荐
- Log4net - 项目使用的一个简单Demo
参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...
- C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...
- Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分
Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...
- isEmpty和isNull()区别
isEmpty和isNull()区别一个NULL字符串一定是一个空串,一个空串未必是一个NULL字符串例如:QString().isNull(): //结果为trueQString().isEm ...
- Android使用静默安装时碰见的问题
升级时碰见的异常 private void installPackage(String appName,final File apk) { if (!apk.exists()) { setHasNew ...
- 微信小程序服务范围重大更新
12.29日,小程序服务范围做了重大更新,增对富媒体和工具类型的小程序,增加了很多细分领域 富媒体:增加资讯,FM电台,有声读物等,媒体平台可上小程序了 工具:信息查询,网络代理,健康,企业管理等 , ...
- 嵌入式&iOS:回调函数(C)与block(OC)传 参/函数 对比
C的回调函数: callBack.h 1).声明一个doSomeThingCount函数,参数为一个(无返回值,1个int参数的)函数. void DSTCount(void(*CallBack)(i ...
- 关于javascript中的this关键字
this是非常强大的一个关键字,但是如果你不了解它,可能很难正确的使用它. 下面我解释一下如果在事件处理中使用this. 首先我们讨论一下下面这个函数中的this关联到什么. function doS ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- Struts框架的核心业务
Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletap ...