一个JavaWeb项目中使用的部分技术
-- 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 : 微软的项目管理工具,应用范围广.
最新文章
- 双向数据绑定(angular,vue)
- 使用 JSONP 实现简单的 SSO 单点登录
- HDU 5838 (状压DP+容斥)
- selenium之xpath定位和input文本
- MJExtension的使用:https://github.com/CoderMJLee/MJExtension
- C++中的const详解
- M1: 创建UWP空项目
- hihoCoder#1015 : KMP算法 (KMP模板)
- css中的clear的正真意义
- vue + vue-resource 跨域访问
- iOS 之 UITextView
- IIS出现The specified module could not be found的解决方法
- echarts 去掉 x轴坐标
- Winform开发框架中的综合案例Demo
- DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板
- 如何在github上创建仓库,并将本地的文件上传到对应的远程仓库
- 关于Backbone和Underscore再说几点
- 从xtraback 备份文件中 单独恢复一张 innodb 表
- 机器学习-数据可视化神器matplotlib学习之路(三)
- Layouts