zoukankan      html  css  js  c++  java
  • 开发原则之约定大于配置

    开发过程中处处用到了”约定大于配置“的原则,甚至团队开发规范、开发编译环境等等也是要大家约定来执行的。以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





  • 相关阅读:
    ios ASI 断点下载
    ios 视频播放器MPMoviePlayerController
    ios SDWebImage 图片加载显示菊花
    ios简单的音频播放
    学iOS开发(一)——实现一款App之Foundation框架的使用
    学iOS开发(二)——实现一款App之编写自定义类
    蓝欧ios培训视频
    ios开发教程地址
    day15_雷神_前端03
    day14_雷神_前端02
  • 原文地址:https://www.cnblogs.com/doit8791/p/5724294.html
Copyright © 2011-2022 走看看