淘宝webx总结
业务层 BIZ
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?spring容器管理
? ?Client -----> ? ? Command -----> ? ? CommandDispatcher ?-----> ? ?Application Object ? -->BO---> ?DAO ? -----> DB
? ? ? ? ? ? ? ? ? 封装客户端请求
?
? ? ? ? ? ? ? ? ? CommandDispatcher是联结表现层和业务层的枢纽。
? ? ? ? ? ? ? ? ? CommandDispatcher有多种实现,以适应多种需要:
?
数据访问层 DAL
?
?分库
?事物(Global,Local)
?创建维护数据库访问对象 DAO
?定义Data Object对象
?
?
表现层
? 1)负责和Web界面交互
? ? ? ? ||
? ?处理Http请求
? ? Webx framework激活特定pipline(定义一系列阀门(Value),顺序或循环的执行阀门)并开始执行
? ? Webx framework作用仅仅是激活pipline
?
? 2)通过Web Service和外界应用交互
?
Service Framework在系统中处于极为重要的地位。
在JavaEE应用的开发中,常常碰到这样的问题:
1.Singleton的问题 —— 我们希望某个对象或服务是随手可得的,而不需要通过参数传递的方式来取得。
? ? 例如,我们希望能在任何地方调用mail服务来发送e-mail。
2.Configuration的问题 —— 不止一个地方需要读取配置文件。最好有一种方法可以统一地管理配置文件。
3.Lifecycle的问题 —— 一个功能模块需要在适当的时候被初始化和销毁。
? ?Service Framework正是为了解决上面三个问题而设计的。
? ?Service Framework管理着一系统被称作Service的功能模块。
? ?Service是一个可重用、可扩展的独立模块。
? ?整个系统正是搭建在这一个个相对独立的Service的基础之上。
?
?
?
配置
DataSource
TransactionManager
?
Service框架
? Service接口
?
turbine
?
实现权限管理
?UserAuth
?
?
?layout ---> control -->screen
?
?页面标题有layout控制
?
?
?module.screen ?templates/screen对应关系
?默认大于配置
?
?
?
测试
?AbstractTransactionalDataSourceSpringContextTests 整个project测试的时候会将数据库事务回滚
?AbstractDependencyInjectionSpringContextTests 数据库事务不回滚
?
?
?HiveMind VS spring
?
?http://opentech.alibaba-inc.com/community/thread.jspa?messageID=3488&tstart=0#3488