mvc理解篇
java是面向对象的语言。
mvc是一种设计模式,就像论文排版,设置好论文的框架,字体,大小,颜色等,然后把论文内容往里填。mvc的出现让代码的层次更加的清晰,业务通过数据流实现。
mvc框架的优点如下:
(1)分工明确,便于协同开发。
(2)变更修改,具有可拓展性,可维护性,解耦合。
数据库有两种类型:关系型数据库和非关系型数据。用表存储管理数据的数据库叫关系型数据库。其典型特征是可用sql查询语句,比如my sql,oracle,sql sever等。
非关系型数据库是用对象的形式来存储数据。
spring框架,它可以管理web层,业务层,dao层,持久层,该spring可以配置各个层的组件(bean),并且维护各个bean之间的关系。
web层解决action单例问题。
业务层 service/domain/dao
持久层:数据层
spring开发提倡接口编程,配合di技术可以解决程序间的解耦
举例:
体验spring的di接口配合接口编程的,完成一个字母大小写转换的案例:
思路:
1.创建一个接口 ChangeLetter
2.两个类的实现接口
3.把对象配置到spring容器中
4.使用、
通过案例,di配合接口编程,可以减少层(web层)和业务层的耦合度。
hibernate(orm框架),operation relation mapping对象关系映射,持久层,体现oop,是典型的关系型数据库,只用负责对象,而不用sql语句,具有解耦合,主要解决关系模型和对象模型之间的阻抗,简化了连接数据库的操作,加强了拓展性。关系型数据库只用负责对象,不用sql语句,不用担心数据库用的是哪一层。
m是数据建模,Bean称为数据对象类型,,是一个类。我们在用户表中取密码,需要在m中建模取类。
操作都在c中进行,连接数据库,查出数据和字段在,在c(controller)中根据m的建模新建对象,然后根据查询结果,对新建对象进行初始化,用select语句查询,判断。
v(view)仅仅是一个视图,有两个框(html),譬如用户登录界面,将用户输入的信息与c中的数据进行比较。
mvc理解篇的更多相关文章
- ASP.NET MVC学前篇之扩展方法、链式编程
ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...
- ASP.NET MVC学前篇之Lambda表达式、依赖倒置
ASP.NET MVC学前篇之Lambda表达式.依赖倒置 前言 随着上篇文章的阅读,可能有的朋友会有疑问,比如(A.Method(xxx=>xx>yy);)类似于这样的函数调用语句,里面 ...
- ASP.NET MVC学前篇之Ninject的初步了解
ASP.NET MVC学前篇之Ninject的初步了解 1.介绍 废话几句,Ninject是一种轻量级的.基础.NET的一个开源IoC框架,在对于MVC框架的学习中会用到IoC框架的,因为这种IoC开 ...
- ASP.NET MVC学前篇之请求流程
ASP.NET MVC学前篇之请求流程 请求流程描述 对于请求的流程,文章的重点是讲HttpApplication和HttpModule之间的关系,以及一个简单的示例实现.(HttpModule又是M ...
- 【转】深入理解篇UIScrollerView
转自:http://www.mamicode.com/info-detail-1144770.html 接下来,我整理一下自己的思路,深入理解 UIScrollView 基本点 : 1 . UIScr ...
- Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径
Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径 我们要实现 通过路由 匹配出 博客地址 和博客文章地址 例如下面的这两个地址 //http://www.cnblogs.com/ma ...
- ASP.NET MVC 理解MVC模式
ASP.NET MVC 理解MVC模式 PS:MVC出来很久了,工作上一直没机会用,所以我也没去学.出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正. ...
- Java框架-Spring MVC理解001
Spring MVC理解 1.servlet--Spring MVC的本质 2.Spring MVC其实是一个工具,具体的理解可以分为两步:第一步,了解这个工具是怎么创建出来的:第二步,了解这个工具是 ...
- Java基础-SSM之Spring MVC入门篇
Java基础-SSM之Spring MVC入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Spring MVC简介 1>.什么是Spring MVC 答:Sprin ...
随机推荐
- Cannot assign requested address出现的原因及解决方案
今天使用python多线程请求服务时,出现Cannot assign requested address错误 网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很 ...
- SNS网站成功原因剖析_完结
SNS网站成功原因剖析 前言 亿注册用户)为例,讨论下 Fackbook成功的原因,进而分析结合国内环境,讨论当前国内流行的 SNS网站成功失败要素. 一.Facebook (一) Facebook总 ...
- 基于VLC的视频播放器(转载)
最近在研究视频播放的功能,之前是使用VideoView.在网上看了一下,感觉不是很好,支持的格式比较少,现在网络视频的格式各种各样,感觉用VideoView播放起来局限性很大. 找到了一个比较合适的播 ...
- --查询nvarchar(max)的表和字段
--查询nvarchar(max)的表和字段 select 'insert into #tempTabelInfo select '''+d.name+''', '''+a.name+''', max ...
- java基础快捷键(1)
1) 输出快捷键:System.out.println():在键盘上输入 Syso 然后按 Alt + ?:就出来了:System.out.println(); 2)主方法:(main): 快 ...
- 如何在cmd下切换不同版本的Python
(1)分别安装python-2.7.12.amd64.msipython-3.5.2-amd64.exe(python官网下载的)顺序无所谓(为了看着方便,我把安装路径修改统一了)(2)配置环境变量D ...
- oracle异常写法
EXCEPTION WHEN OTHERS THEN V_ALARM_MSG := SQLERRM; --错误日志表 V_SQLTEXT := 'CALL DD_PAK.ERRLOG(:V1,:V2, ...
- iOS开发:开发证书知识点总结
1. Error: An App ID with identifier "*" is not avaliable. Please enter a different string. ...
- XCode 7.3.1(dmg) 官方直接下载地址
xcode7.3.1下载 https://idmsa.apple.com/IDMSWebAuth/login?appIdKey=891bd3417a7776362562d2197f89480a8547 ...
- DOCTYPE的重要性
<!DOCTYPE>是文档类型声明: 声明必须是 HTML 文档的第一行,位于 <html> 标签之前.明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTM ...