对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想 ...
随机推荐
- hash表长度优化证明
hash表冲突的解决方法一般有两个方向: 一个是倾向于空间换时间,使用向量加链表可以最大程度的在节省空间的前提下解决冲突. 另外一个倾向于时间换空间,下面是关于这种思路的一种合适表长度的证明过程: 这 ...
- MyEclipse生成注册码
今天正在使用的MyEclipse出现了使用过期,在网上发现一个可以生成注册码的程序,现在分享给各位. /** * myEclipse生成注册码 * 点击顶部:MyEclipse --> subs ...
- netty5 HTTP协议栈浅析与实践
一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的 ...
- JavaScript之链式结构序列化
一.概述 在JavaScript中,链式模式代码,太多太多,如下: if_else: if(...){ //TODO }else if(...){ //TODO }else{ //TODO } swi ...
- PHP中PDO事务的使用方法
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行. 在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操 ...
- 微信小程序初探
做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...
- ASP.NET中画图形验证码
context.Response.ContentType = "image/jpeg"; //生成随机的中文验证码 string yzm = "人口手大小多少上中下男女天 ...
- C#发送邮箱
之前自己从来没有做过发送邮箱的功能,前段时间项目需要,在找了很多帖子之后,终于实现了. 之后有整理了一下,写了一个类.直接给类传递信息,就可以发送了. 这里还需要说明的是,发送邮箱需要开通POP3/S ...
- CentOS:Yum源的配置
# cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo.bak # wget http://mirrors.163.com/.hel ...
- BZOJ 4196: [Noi2015]软件包管理器 [树链剖分 DFS序]
4196: [Noi2015]软件包管理器 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1352 Solved: 780[Submit][Stat ...