-- 2015年8月8日

1. Web框架: Spring+ SpringMVC + MyBatis

Spring: 作为容器。工厂,用于解耦以及管理对象生命周期。
整合各类框架和依赖。
MVC  : 配置,文档与源代码结合在一起,减轻开发工作量,易维护,易測试.
MyBatis: 灵活稳定,自由度高,与代码生成器结合使用,易集成,易开发,代码可读性良好。
Nginx: 前端入口,软负载均衡。用于构建Web集群, 同一时候部署静态资源,减轻Tomcat的负载。
Tomcat: 成熟, 相对轻量,简单易维护,使用范围广泛,开源,社区支持友好

1.1 其它架构技术:

Dubbo: 分布式服务框架, RPC远程调用方案. 阿里巴巴SOA核心框架。

通常是同步调用(堵塞式,Blocked).
NFS  : Linux网络文件系统,能够当成硬盘一样挂载到某个文件夹下,对上层透明
CDN  : 缓存静态资源,一般资源名称上有版本号号。

2. 基础技术:

JDBC。Java与数据库通讯的统一规范,厂商实现
事务: 原子性, ACID,提交。异常回滚,自己主动提交,数据可见性。

事务可见性: 可反复读
ORM, MyBatis就是当中的一个实现,原理是读取 JDBC的MetaData和 Java反射.
MySQL,( 默认是可反复读,REPEATABLE READ,相似于快照,开启事务后, 提交或回滚前,看到的都是事务開始那一刻的快照,后面的改动无论是否已经提交,都当做看不见。

隔离性通常是会话的特性, 能够把会话当成一个JDBC连接,这样, 每一个连接都能够设置自己的隔离性,从而(控制自己)看得见,或者看不见其它连接所做的改动。)
Log4j, 日志,能够通过配置包名前缀控制日志的输出级别。
Ioc,  @Autowired, @Resource, @Service, @Controller, @Repository等
Druid, 阿里巴巴推出的数据库连接池,高效稳定, 提供有好的监控与分析特性

3. 前端技术: ExtJS-4.2, CSS, HTML, jQuery。

UEditor.

前端框架,都有的组件包含: Tree, TabPanel, Grid, Form, Ajax等。

4. 版本号/构建:

	SVN, Gitlab, Maven, Mybatis代码生成器等。

5. 协作工具:

	Confluence, Gitlab, Idea, 

6. 測试技术:

	LoadRunner, 禅道 BUG 管理平台, 用例, 需求, 

7. 其它:

吞吐量,响应时间,并发性能,安全性,稳定性,易用性,峰值,临界点.

负载均衡, 主从复制, binlog, 命名规范,
Cache : Redis ? MongoDB ? 用来减轻DB压力,让Web层无状态,做高可用。

Edraw : 美丽的作图工具,支持各种图形,经常使用: UML,流程,部署,时序等。
Project : 微软的项目管理工具,应用范围广.

一个JavaWeb项目中使用的部分技术的更多相关文章

  1. log4j在javaWeb项目中的使用

    在前边的文章中对log4j的配置文件进行了说明,今天介绍如何在普通的javaWeb项目中使用log4j. 在日常的开发过程中,日志使用的很频繁,我们可以利用日志来跟踪程序的错误,程序运行时的输出参数等 ...

  2. Druid使用起步—在javaWeb项目中配置监控 连接池

    当我们在javaWEB项目中使用到druid来作为我们的连接池的时候,一定不会忘了添加监控功能.下面我们就来看一下,在一个简单的web项目中(尚未使用任何框架)我们是如果来配置我们的web.xml来完 ...

  3. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  4. 一个JavaWeb项目开发总结

    一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring ioc->log->代码 先了解项目数据库的表结构,这 ...

  5. JavaWeb项目中获取对Oracle操作时抛出的异常错误码

    最近在项目中碰到了这么一个需求,一个JavaWeb项目,数据库用的是Oracle.业务上有一个对一张表的操作功能,当时设置了两个字段联合的唯一约束.由于前断没有对重复字段的校验,需要在插入时如果碰到唯 ...

  6. JavaWeb项目中web.xml有关servlet的基本配置

    JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...

  7. 关联分析FPGrowth算法在JavaWeb项目中的应用

    关联分析(关联挖掘)是指在交易数据.关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式.关联.相关性或因果结构.关联分析的一个典型例子是购物篮分析.通过发现顾客放入购物篮中不同商品之 ...

  8. ElasticSearch搜索引擎在JavaWeb项目中的应用

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  9. 转:创建一个javaweb项目,以及导出war包

    一.使用IDEA创建一个javaweb项目 1.File->New Project选择Web Application 1 2 然后填写好路径和项目名称,点击确定. 1 2 2.先看一下刚创建好的 ...

随机推荐

  1. Javascript万物皆对象?

    在javascript的世界里,有这么一句话,万物皆对象. 但是这个对象,应该怎么理解呢? exm........??,难道值类型也是对象?!! 当然,不是. 准确地讲是对于“引用类型”而言. 那,在 ...

  2. ThinkPHP搜索框需要注意的事项

    1.当搜索成功后需要用到分页的时候,form表单需要用get传参 2.编码方式 当编码方式不正确的时候,使用分页类改变分页,会使搜索框里面的内容乱码 改变编码方式的方法 第一种:header(&quo ...

  3. RocketMQ之基本信息

    1.Producer 即消息生产者,负责产生消息,一般由业务系统负责产生消息. 2.Consumer 即消息消费者,负责消费消息,一般是后台系统负责异步消费. 3.Push Consumer Cons ...

  4. (转)Java进阶java int与Integer的区别

    Java进阶java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象,用一个引 ...

  5. tensorflow冻结层的方法

    其实常说的fine tune就是冻结网络前面的层,然后训练最后一层.那么在tensorflow里如何实现finetune功能呢?或者说是如何实现冻结部分层,只训练某几个层呢?可以通过只选择优化特定层的 ...

  6. python3 常用模块详解

    这里是python3的一些常用模块的用法详解,大家可以在这里找到它们. Python3 循环语句 python中模块sys与os的一些常用方法 Python3字符串 详解 Python3之时间模块详述 ...

  7. java网络编程之socket(1)

    网络编程是什么 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...

  8. Embeding如何理解?

    参考: http://www.sohu.com/a/206922947_390227 https://zhuanlan.zhihu.com/p/27830489 https://www.jianshu ...

  9. 微信二次认证 C#

    using Senparc.Weixin.Entities; using Senparc.Weixin.HttpUtility; using Senparc.Weixin.QY.AdvancedAPI ...

  10. redis RDB快照和AOF日志持久化配置

    Redis持久化配置 Redis的持久化有2种方式   1快照  2是日志 Rdb快照的配置选项: save 900 1      // 900内,有1条写入,则产生快照 save 300 1000 ...