约定大于配置

时间:2021-05-24 23:12:35   收藏:0   阅读:22

开发过程中处处用到了”约定大于配置“的原则,甚至团队开发规范、开发编译环境等等也是要大家约定来执行的。以Java构建为例,从ant到maven再到gradle都是更好更方面的实现了”约定大于配置“的思想。

在ant和bat时代,经常要为每个项目写或修改脚本,即便项目主要目录结构也要在代码里体现。
到maven时代,通过约定简化了很多东西:pom.xml所在的目录应为项目的根目录,假设该目录为${proj-dir},那么Maven有以下假设:
  • ${proj-dir}/src/main/java —— 存放项目的.java文件。
  • ${proj-dir}/src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件。
  • ${proj-dir}/src/test/jave —— 存放所有测试.java文件,如JUnit测试类。
  • ${proj-dir}/src/test/resources —— 测试资源文件。
  • ${proj-dir}/target —— 项目输出位置。

运行一条mvn clean package命令,Maven会帮你清除target目录,重新建一个空的,编译src/main/java类至target/classes,复制src/main/resources的文件至target/classes,编译src/test/java至target/test-classes,复制src/test/resources的文件至target/test-classes;然后运行所有测试;测试通过后,使用jar命令打包,存储于target目录。Maven做的事情一点也不少,只是都对用户隐蔽起来了,它只要求你遵循它的约定。

到现在逐渐流行的gradle,更简化了maven相关的配置。比如引入hibernate依赖

 
采用 Maven
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.3.6.Final</version></dependency>

采用 Gradle 只需一行

org.hibernate:hibernate-core:4.3.6.Final

原文转载链接如下:链接

原文:https://www.cnblogs.com/tkzmggg/p/14806218.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!