Java for Web学习笔记(五二):Spring框架简介(1)特点简述
来源:互联网 发布:域名重新定向 编辑:程序博客网 时间:2024/05/17 14:29
反转控制:Inversion Control
反转控制(IoC,Inversion Control)在Spring中,如果A依赖于B,在runtime中实现,而不是在compile中实现。这使得同样的代码,用于不同的环境,模拟环境,测试环境或者生产环节。
实现Inversion Control的最常用技术是依赖注入(DI,Dependency Injection)。一个类将声明依赖另一个接口,在runtime时根据依赖注入实例。
Aspect-oriented Programming
Sping提供实例化和依赖,可以封装依赖注入的实例,装饰其,调用其它的处理。简单说就是通过annotate的注释来调用某个处理,如安全限制处理等等。我们看一个简单的PHP例子:
def aopLogic(f): def warp(): print("befor....") f(); print("after...") return warp @aopLogic def myMethod(): print("my method pass!")myMethod()如果不加@aopLogic的装饰,调用时需要aopLogic(myMethod)()
数据访问和事务管理
Spring提供数据库数据和java对象的映射,通过annotation对事务返回异常进行处理。
应用消息:Application Message
Spring提供松耦合的消息系统,publish-subscribe(发布订购模式)。发布者无需关系谁订购。可以扩展为跨应用集群。(好设计)
MVC:Model-View-Controller
Controller中的方法被映射到不同的请求URL,方法或者属性。Model以Map<String,Object>的方式从controller传递到view。从contoller返回的View或者view名字将forward到特定的jsp view。在典型的HTML view中,Spring可以自动生成文本view、文件下载view,XML或者JSON View。
下面是Spring的MVC架构[1],大致了解一下MVC的架构,Spring帮忙完成了很多的代码。
- DispatcherServlet收到请求
- DispatcherServlet分派任务给HanderMapping,让其选择一个合适controller。HandlerMapping根据request URL的匹配选择controller,将Handler和Controller返回给DispatcherServlet。
- DispatcherServlet分配任务给HandlerAdapter,让其执行controller的业务逻辑。
- HandlerAdapter调用Controller的业务逻辑处理
- Controller执行额业务逻辑,将处理结果放入Model,返回view的逻辑名字给HandlerAdapter
- DispatcherServlet分配任务给ViewResolver,让其解析View名字相关的的View,ViewResolver将匹配该view名字的View返回给DispacherServlet。
- DispatcherServlet分配渲染处理任务给view
- View渲染Model数据,并返回response。
相关链接: 我的Professional Java for Web Applications相关文章
1 0
- Java for Web学习笔记(五二):Spring框架简介(1)特点简述
- Java for Web学习笔记(五三):Spring框架简介(2)一些准备
- Java for Web学习笔记(五六):Spring框架简介(5)自动识别
- Java for Web学习笔记(五八):Spring框架简介(7)bean的profile
- Java for Web学习笔记(五五):Spring框架简介(4)多Context的例子
- Java for Web学习笔记(五七):Spring框架简介(6)代码设置
- Java for Web学习笔记(五四):Spring框架简介(3)一个简单的One Context例子
- Java for Web学习笔记(二五):JSTL(1)使用JSTL
- Java for Web学习笔记(七二):Service和Repository(7)在Spring框架中使用WebSocket
- Java for Web学习笔记(七三):国际化i18n(1)使用Spring框架MessageSource
- Java for Web学习笔记(二):Web Containers
- Spring学习笔记(一)框架简介
- Java for Web学习笔记(五九):Controller替代Servlet(1)请求匹配
- backbone学习笔记二(框架简介)
- Java for Web学习笔记(七一):Service和Repository(6)在Spring框架中使用Listener
- Java框架学习笔记——初识Spring之简述
- Java学习笔记(二)Java的特点
- Spring框架学习笔记--HelloWorld(二)
- VideoCapture类
- eclipse连接hadoop出现连接错误java.net.ConnectException
- Flask 使用重定向作为POST请求的响应
- ubuntu安装opencv
- HDU 4417 树状数组
- Java for Web学习笔记(五二):Spring框架简介(1)特点简述
- 替换空格
- linux 系统-资源命令
- AndroidStudio 引入.jar 和 .so 文件
- hive中使用map和array
- 乐于接受必然发生的情况,是克服随之而来的任何不幸的第一步!
- SQL Server常用语法及常见问题
- Zabbix2.4.8实现WeChat+Mail预警
- CSDN 博客备份工具