JAVA基本框架搭建(Maven,jetty,Joda-time,junit)

JAVA基本框架搭建(Maven,jetty,Joda-time,junit)

如何构建应用程序,这是每一个开发人员要面对的。


1.构建工具Maven

http://www.ibm.com/developerworks/cn/java/j-maven/

尽管 Ant 对于构建 Java 程序而言是事实上的标准工具,但这个工具在许多方面都不胜任项目管理任务。相反,Ant 提供的东西,Maven(出自 Apache Jakarta 项目的高级项目管理工具)都能提供,而且更多。Java 开发人员 Charles Chan 将介绍 Maven 的特性,并循序渐进地指导您进行一次完整的 Maven 项目设置。

2.HTTP服务器、WEB容器Jetty

http://www.ibm.com/developerworks/cn/web/wa-lo-jetty/

Jetty 是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器,可以免费的用于商业行为。Jetty 这个项目成立于 1995 年,现在已经有非常多的成功产品基于 Jetty,比如 Apache Geromino, JBoss, IBM Tivoli, Cisco SESM 等。Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服务器,并且 Jetty 可以非常容易的嵌入到 Java 应用程序当中。

3.时间控件Joda-time

http://www.ibm.com/developerworks/cn/java/j-jodatime.html

现在假设我希望输出这样一个日期:距离 Y2K 45 天之后的某天在下一个月的当前周的最后一天的日期。坦白地说,我甚至不想使用 Calendar处理这个问题。使用 JDK 实在太痛苦了,即使是简单的日期计算,比如上面这个计算。正是多年前的这样一个时刻,我第一次领略到 Joda-Time 的强大。使用 Joda,用于计算的代码如清单 3 所示:

清单 3. 改用 Joda
DateTime dateTime = new DateTime(2000, 1, 1, 0, 0, 0, 0);
System.out.println(dateTime.plusDays(45).plusMonths(1).dayOfWeek()
  .withMaximumValue().toString("E MM/dd/yyyy HH:mm:ss.SSS");

清单 3 的输出为:

Sun 03/19/2000 00:00:00.000

如果您正在寻找一种易于使用的方式替代 JDK 日期处理,那么您真的应该考虑 Joda。如果不是这样的话,那么继续痛苦地使用 Calendar 完成所有日期计算吧。当您做到这一点后,您完全可以做到使用几把剪刀修建草坪并使用一把旧牙刷清洗您的汽车。

4.单元测试JUnit

http://www.ibm.com/developerworks/java/tutorials/j-junit4/

5.框架搭建的方式

http://www.infoq.com/cn/news/2013/12/humble-architects

规则4:至底向上的一致性要优于自上而下的一致性

我有一种方式可以实现系统中更多的一致性:

  • 创建一个参考应用,并使用易于遵循的架构。如果这件事干得好,那么开发者们就会始终记得不要偏离这个架构。除非他们不想,否则这么做就没问题。
  • 培育一种互助的文化。能够看到彼此代码的开发者要比那些只看到自己代码的具有更好的一致性。结对编程、代码审查以及技术分享讲座都有助于这种文化的培育。

6.构建的方式DDD

http://www.infoq.com/cn/articles/ddd-dddlib-development-process-and-marketing-experience

领域驱动设计(DDD)的概念源于2004年著名建模专家Eric Evans发表的书籍:《Domain-Driven Design –Tackling Complexity in the Heart of Software》中文译名:领域驱动设计—软件核心复杂性应对之道,池建强在2011年发表的一篇文章《领域驱动设计和实践》中是这样形容DDD的:

领域驱动设计事实上是针对OOAD的一个扩展和延伸,DDD基于面向对象分析与设计技术,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分。

7.常用的开源框架

AppFuse J2EE WEB开发开源框架

http://appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese

opentaps 开源企业级ERP系统

http://www.opentaps.org/

Bootstrap 简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

http://v2.bootcss.com/customize.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100453.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的异同与应用

    RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的异同与应用独立磁盘冗余阵列磁盘阵列(RedundantArraysofIndependentDisks,RAID),有“独立磁盘构成的具有冗余能力的阵列”的含义。其思想是将多块独立的磁盘按不同的方式组合为一个逻辑磁盘,从而提高存储容量,提升存储性能或提供数据备份功能。RAID存储系统的组合方式根据RAID级别定义。RAID根据组合方式的不同,有多种设计方案,以下介绍几种常见的RAID方案。1、RAID0(不含校验与冗余的条带存储)2、RAID1(不含校验的镜像存储)3、RAID5(数据块级别的分.

    2022年7月25日
    26
  • 企业发卡网源码_多商户企业发卡网源码代对接功能搭建下载

    企业发卡网源码_多商户企业发卡网源码代对接功能搭建下载企业发卡网源码是相对于个人发卡网源码而言的,两者最大的区别是:前者适用于多用户虚拟自动售卡,后者适用于单个个体商户,这就相当于商城与单个店铺的区别。企业发卡网源码集成了一套复杂的管理系统,这其中包括:

    2022年7月1日
    40
  • sensor DVP接口介绍

    sensor DVP接口介绍转载:https://blog.csdn.net/hua371242480/article/details/88629023原创sensor接口之DVP…

    2022年4月29日
    69
  • 数列极限定义的具体解释(举例)–十分易懂

    数列极限定义的具体解释(举例)–十分易懂数列极限定义的具体解释(举例)–十分易懂自己看书没彻底明白,百度了几个还不错的解释。直接上图吧!这里重点看举例这个解释很好理解了。2.下面的另一种解释指出了N是项数并配图例。如果朋友们还有更好的理解方法,欢迎留言哦!谢谢…

    2022年5月2日
    39
  • Java SE学习之printf 日期转换符[通俗易懂]

    Java SE学习之printf 日期转换符

    2022年2月3日
    55
  • 有关微信登录小程序接口40029报错

    有关微信登录小程序接口40029报错有关微信登录小程序接口40029报错微信的报错信息errcode:40029,errmsg:"invalidcode,hints:[req_id:HQd79a0747th31]我的可能是例外,但是应该不是个例!微信验签等代码是copy上一个项目的!而且我的项目用上一个的小程序/公众号写过测试,小程序/公众号中做过相应配置!所以以上错误很可能是你的APPID和app_…

    2022年5月5日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号