软件体系架构之ssh框架阅读笔记】的更多相关文章

首先我们要了解一下什么是ssh框架? SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架. ssh框架系统从职责上分为四层:web层 业务层 dao层 持久层. 持久层: 主要是针对数据库的操作. DAO层: 主要是针对具体的问题的操作,也可以理解成在对数据层的操作基础上对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建.无疑是系统架构中体现核心价值的部分.它的关注点 主要集中在业务规则的制定.业务流程的实现等与业…
本文将解读标准IEEE Std 1471-2000(密集型软件的体系结构描述推荐实施规程)的概念模型图部分,从中一窥作为软件架构师的进行架构设计的思考角度与策略.如果我们把世界当做一场游戏,现在要玩的就是策略游戏而已. 说明: IEEE 1471是适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础. 细读这个标准,可以加强策略游戏的装备,全新上战场. 基本概念 IT框架的设计者必须是杰出的问题驱动者,设计往往是一个模糊的,非理性的过…
分类: web 开发2014-04-27 12:33 354人阅读 评论(0) 收藏 举报 框架springinterface注解 好久没有搭建框架了,今天整理下以前的知识,整合下SSH,没想到手生了,一时半会各种异常出来,经过一番挣扎后,终于搞出来了雏形, 下面是我做整合框架的笔记,如果大家开发过程中又遇到的情况,可以参考下 首先是包的结构,(命名不算正规哈~,临时写的仓促了点) 框架是基于JAR包的基础上构建的,所以必须必备的jar包必须先下好, 如图: 没有的可以在本文源代码里下: 搭建框…
一.为什么要使用接口? 三层体系架构上层调用下层的时候最好使用接口,比如action层调用service的时候,private IUserDAO userDAO;这里将属性定义为接口,调用DAO的时候都是调用接口里面的方法,实现了这个接口的类就有很多种实现方法了,既可以用hibernate的实现,也可以用JDBC的实现,这样在应用的时候就可以轻松切换了,大大提高了程序的灵活性. 二.Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读…
Struts2.Hibernate5.Spring4集成开发步骤: 一.导入Jar包(基本的大致有41个,根据实际项目的需求自己添加) antlr-2.7.7.jar aopalliance.jar asm-5.1.jar asm-commons-5.1.jar asm-tree-5.1.jar aspectjweaver-1.8.7.jar c3p0-0.9.2.1.jar classmate-1.3.0.jar commons-fileupload-1.3.2.jar commons-io-…
MVC三层架构:模型层(model),控制层(controller)和视图层(view).模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来对数据库进行操作:控制层,用Struts框架来连接数据层和视图层的,接收.处理.发送数据并控制流程:视图层,用JSP模板把页面展现给用户以及提供与用户的交互.而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等.…
Airbnb成立于2008年8月,总部位于加利福尼亚州旧金山市.Airbnb是一个值得信赖的社区型市场,在这里人们可以通过网站.手机或平板电脑发布.发掘和预订世界各地的独特房源,其业务已经覆盖190个国家的40000座城市.目前,Airbnb已经完成了7轮融资,共募集了23亿美元的资金,估值达250亿美元.Mike Curtis是Airbnb工程部门的副总裁.近日,The Platform编辑Timothy Prickett Morgan就Airbnb的架构要点对他进行了采访报道. Airbnb…
1.建立一个web项目,设置编码格式,建立src下的包,建立资源文件夹 2.加入Spring运行必须的jar包(5个jar包) spring-beans-4.1.4.RELEASE.jar spring-context-4.1.4.RELEASE.jar spring-core-4.1.4.RELEASE.jar spring-expression-4.1.4.RELEASE.jar commons-logging-1.2.jar 3.建立Spring的配置文件 3.1 applicationC…
1.建立普通的Javaweb项目,导入项目所必须的jar包. 2.配置web.xml文件. web.xml  3.在src下建立struts.xml. struts.xm 4.在实体包下配置  实体名.hbm.xml 实体名.hbm.xml 5.在src下建立applicationContext.xml. applicationContext.xml 6.在src下建立数据库的相关配置信息db.properties. db.properties 7.建立一个log4j.properties记录日…
1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性.健壮性.可扩展性.兼容性和可用性,它是系统的灵魂.体系架构是架构师所关注的核心.良好的体系架构是系统成功的开端,否则,再好的代码与设计也无济于事. 2 当前.net主要的开发框架简介 l Castle Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务.其中关键的技术是ActiveRe…
架构:SSH框架 问题:多线程下的持久化操作 异常No Session found for current thread出现环境: SSH框架,采用声明式事务, 通过sessionFactory.getCurrentSession() 获取SESSION, 因为SPRING绑定事务到线程上,所以当new Thread()线程中去执行持久化操作时,就会产生异常No Session found for current thread 解决方法: 通过 实现ApplicationContextAware…
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. SGA. 5 4 Oracle的进程: 9 5 PGA. 12 6.用户与Oracle服务器的连接方式... 12 第二章:实例管理及数据库的启动/关闭... 14 2.1 实例和参数文件... 14 2.2 数据库启动与关闭:... 16 2.3 告警日志:alert_SID.log. 18 2.…
说在前面 本学期我们有一门课叫做Java EE,由陈老师所授,主要讲的就是Java EE 中的SSH框架. 由于陈老师授课风格以及自己的原因导致学了整整一学期不知道在讲什么,所以才有了自己重新学习总结的博客,其中可能会有一些错误和描述解释不恰当的地方,望读者能及时提出. 什么是SSH框架 官方的说法:SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架. SSH不是一个框架,而是把多个框架(Struts.Spring以及Hibernat…
介绍 rocketmq 框架与基本概念 1. 概念 1.1 namesrv(name server) 记录了 broker 集群信息,消息队列的信息以及 key-value 配置,见 RouteInfoManager 和 KVConfigManager. 可以由多个 namesrv 实例组成集群,但相互独立,没有信息交换. 1.2 broker 核心组件,负责存储所有的消息相关信息 支持主从模式 支持 master 写操作,只有当 master 读压力高于某个点(消息堆积),才会将读压力转给 s…
上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的.这些组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI的核心骨架. 从本篇开始,将进一步去分析各组件的实现细节,深入CI核心的黑盒内部(研究之后,其实就应该是白盒了,仅仅对于应用来说,它应该算是黑盒),从而更好的去认识.把握这个框架. 按照惯例,在开始之前,我们贴上CI中不完全的核心组件图: 由于BenchMa…
到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入口 ind…
从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index…
上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1.       设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch case代码块中…
在作者之前发表的<全球最低功耗蓝牙单芯片DA14580的系统架构和应用开发框架分析>.<全球最低功耗蓝牙单芯片DA14580的硬件架构和低功耗>.<全球最低功耗蓝牙单芯片DA14580的软件体系-RW内核和消息处理机制>三篇文章分析了DA14580的SDK开发目录结构.硬件架构.低功耗.RW内核和消息处理机制.本篇文章将深入到具体的源码去分析DA14580平台的软件层次架构和具体的BLE消息处理过程,以此佐证前面发表的文章. 一.软件层次架构 1.1 BLE协议栈 从中…
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及…
上一篇博客(CI框架源代码阅读笔记4 引导文件CodeIgniter.php)中.我们已经看到:CI中核心流程的核心功能都是由不同的组件来完毕的.这些组件类似于一个一个单独的模块,不同的模块完毕不同的功能,各模块之间能够相互调用,共同构成了CI的核心骨架. 从本篇開始,将进一步去分析各组件的实现细节.深入CI核心的黑盒内部(研究之后.事实上就应该是白盒了,只对于应用来说,它应该算是黑盒),从而更好的去认识.把握这个框架. 依照惯例.在開始之前.我们贴上CI中不全然的核心组件图: 因为BenchM…
从本篇開始.将深入CI框架的内部.一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说.全局函数具有最高的载入优先权.因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就很诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源代码阅读笔记2 一切的入口 index…
上一节(CI框架源代码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程.这里再次贴出流程图.以备參考: 作为CI框架的入口文件.源代码阅读,自然由此開始. 在源代码阅读的过程中,我们并不会逐行进行解释.而仅仅解释核心的功能和实现. 1.       设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development能够是不论什么你喜欢的环境名称(比方dev,再如test).相相应的,你要在以下的switch c…
承接上文:云时代架构阅读笔记五——Java内存模型详解(一) 原子性.可见性.有序性 Java内存模型围绕着并发过程中如何处理原子性.可见性和有序性这三个特征来建立的,来逐个看一下: 1.原子性(Atomicity) 由Java内存模型来直接保证原子性变量操作包括read.load.assign.use.store.write,大致可以认为基本数据类型的访问读写是具备原子性的.如果应用场景需要一个更大的原子性保证,Java内存模型还提供了lock和unlock,尽管虚拟机没有把lock和unlo…
SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作. 下载好eclipse,Struts2,Spring,Hibernate. 1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse. 当然你也可以下载eclipse-SDK.(下载eclipse-SDK需要下载Web,Tomcat等plugins) 2.Struts2:http://struts.apache.org/downloa…
本文描述的是框架SSH集成的示例,由于在这个过程中有一些小的细节容易被遗忘,特别撰写了一篇小的博文来记录这个过程,希望对自己以及后来者能够起到积极意义. 本文中使用的框架和版本号为: struts-2.3.1.2.hibernate-3.6.10.spring-3.1.1 其下载地址分别为: http://struts.apache.org/download.cgi#struts2312 http://sourceforge.net/projects/hibernate/files/hibern…
oracle体系架构简介 先来简要了解一下Oracle数据库体系架构以便于后面深入理解,Oracle Server主要由实例(instance)和数据库(database)组成.实例(instance)由共享内存(SGA)和后台进程系统组成,数据库(database)是存储在磁盘上的一系列物理文件. SGA主要由Share Pool(共享池,又分Library Cache和Data Dictionary Cache,前者临时存储最近执行过的语句代码等,后者临时存储数据位置.表定义及用户权限等).…
1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理JSP本质上就是一个Servlet (3)JSP的脚本:JSP定义Java代码的方式 1. <% 代码 %>:定义的java代码,在service方法中.service方法中可以定义什么,该脚本中就可以定义什么. 2. <%! 代码 %>:定义的java代码,在jsp转换后的java类…
在实际项目的开发中,为了充分利用各个框架的优点,通常都会把 Spring 与其他框架整合在一起使用. 整合就是将不同的框架放在一个项目中,共同使用它们的技术,发挥它们的优点,并形成互补.一般而言,在进行整合之前都要准备整合环境. 由于整合 SSH 框架时,需要连接数据库进行测试,因此需要准备数据库环境.在 MySQL 数据库中创建一个名称为 ssh 的数据库,并在数据库中创建一个名称为 person 的表,该表中包含 2 个字段,分别是 id 和 name,其中 id 是表的主键,name 表示…
Think in UML 阅读笔记(三) 把从现实世界中记录下来的原始需求信息,再换成一种可以知道开发的表达方式.UML通过被称为之概念化的过程来建立适合计算机理解和实现的模型,这个模型被称为分析模型,它介于原始需求和计算机实现之间,是一种过渡模型.绘制分析模型最主要的元模型有:边界类(boundary).实体类(entity).控制类(control).UML采用控制类来表达原始需求中的动态信息,即业务或用例场景中的步骤和活动.除了控制类外,其他类之间都不能直接相互访问,他们需要通过控制类来代…