对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想 ...
随机推荐
- 关于开启.NET在线提升教育培训的通知! - 可在此页面观看在线直播!
年前在线公开课程通知: 近期在开启VIP课程,隔天讲一次,年前其它时间插空讲公开课,主题:设计模式系列 1:培训 - 大概不会讲的内容: 1:不讲系列. 2:不讲入门. 3:不讲我不懂的! 2:培训 ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- MVC5+EF6+MYSQl,使用codeFirst的数据迁移
之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在glob ...
- 关于python的bottle框架跨域请求报错问题的处理
在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200.url直接在浏览器访问也是正常的,浏览器按F12 ...
- .net 大型分布式电子商务架构说明
.net大型分布式电子商务架构说明 背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便 ...
- DDD 领域驱动设计-两个实体的碰撞火花
上一篇:<DDD 领域驱动设计-领域模型中的用户设计?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 在 ...
- AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking
AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- ABAP实现屏幕自己刷新和跳转功能
ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_c ...
- MongoDB常用操作--集合1
1.创建集合有两种方式,显示创建和隐式创建 显示创建可以使用命令 db.createCollection("集合名称") 隐式创建可以使用命令 db.集合名称.insert({}) ...