一个轻量级的控制反转(IoC)面向切面(AOP)的容器框架

分层架构,一站式(full-stack),高内聚低耦合,允许客户端JavaScript远程调用服务端JAVA类方法

应用中的对象不依赖于Spring的特定类

POJO简单的Java对象,或指支持业务逻辑的协助类。

面向方面编程(AOP

  通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发,为基于 Spring 的应用程序中的对象提供了事务管理服务。

核心容器

  Bean Factory 使用控制反转(IOC模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

  注:控制反转(IOC,Inversion of Control),又称为依赖注入(DI,Dependency Injection),用于解耦。

  案例:http://blog.csdn.net/jiuqiyuliang/article/details/42920751

依赖注入——构造、Setter、接口

上下文

DAO

  异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。

ORM(对象关系映射,Object-Relation Mapping

       在单个组件中负责所有实体域对象的持久化,邓庄数据访问细节

Web模块

  简化了处理多部分请求以及将请求参数绑定到域对象的工作

MVC框架

  在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等)

最基本的jar包: 

在Spring的官方API文档中,给出了所有jar包作用的概述,现列举常用的包以及相关作用:

  • org.springframework.aop-3.2.0.RELEASE.jar :与Aop 编程相关的包
  • org.springframework.beans-3.2.0.RELEASE.jar :提供了简捷操作bean 的接口
  • org.springframework.context-3.2.0.RELEASE.jar :构建在beans 包基础上,用来处理资源文件及国际化。
  • org.springframework.core-3.2.0.RELEASE.jar :spring 核心包
  • org.springframework.web-3.2.0.RELEASE.jar :web 核心包,提供了web 层接口
  • org.springframework.web.servlet-3.2.0.RELEASE.jar :web 层的一个具体实现包,DispatcherServlet也位于此包中。

简析springmvc 工作原理

  1. 启动服务器,根据web.xml的配置加载前端控制器(也称总控制器) DispatcherServlet 。在加载时会完成一系列的初始化动作。
  2. 根据servlet的映射请求(上面的HelloWorld实例中针对.do 请求),并参照“控制器配置文件”(即springMVC-servlet.xml 这样的配置文件),把具体的请求分发给特定的后端控制器进行处理(比如上例会分发给HelloWorld 控制器进行处理)
  3. 后端控制器调用相应的逻辑层代码,完成处理并返回视图对象( ModelAndView )给前端处理器。
  4. 前端控制器根据后端控制器返回的ModelAndView 对象,前端控器器根据视图对象返回具体页面给客户端。

  即封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。

JMS是Java消息服务(Java Message Service)

JSF(Java Server Faces):一种用于构建Java Web 应用程序的标准框架,为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。

Spring(Model)的更多相关文章

  1. (转)java之Spring(IOC)注解装配Bean详解

    java之Spring(IOC)注解装配Bean详解   在这里我们要详细说明一下利用Annotation-注解来装配Bean. 因为如果你学会了注解,你就再也不愿意去手动配置xml文件了,下面就看看 ...

  2. 文件上传和下载(可批量上传)——Spring(三)

    在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...

  3. 深入浅出Spring(五) SpringMVC

    上一篇深入浅出Spring(四) Spring实例分析的博文中,咱们已经可以了解Spring框架的运行原理和实现过程,接下来咱们继续讲解Spring的一个延伸产品——Spring MVC 1.Spri ...

  4. 深入浅出Spring(四) Spring实例分析

    上次的博文中 深入浅出Spring(二) IoC详解 和 深入浅出Spring(三) AOP详解中,我们分别介绍了一下Spring框架的两个核心一个是IoC,一个是AOP.接下来我们来做一个Sprin ...

  5. Redis实战之征服 Redis + Jedis + Spring (一)

    Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...

  6. Redis实战之征服 Redis + Jedis + Spring (二)

    不得不说,用哈希操作来存对象,有点自讨苦吃! 不过,既然吃了苦,也做个记录,也许以后API升级后,能好用些呢?! 或许,是我的理解不对,没有真正的理解哈希表. 相关链接: Redis实战 Redis实 ...

  7. Redis实战之征服 Redis + Jedis + Spring (三)

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 通过spring-data-redis完 ...

  8. 征服 Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)

    有日子没写博客了,真的是忙得要疯掉. 完成项目基础架构搭建工作,解决了核心技术问题,接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: 征服 Redis 征服 Redis + J ...

  9. 征服 Redis + Jedis + Spring (三)—— 列表操作【转】

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...

随机推荐

  1. Android面试题(一)

    1. 请描述一下Activity 生命周期. 答: 如下图所示.共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onP ...

  2. 如何禁止内部viewPager滑动

    众所周知,viewPager是能够滑动的,但有时候我们需要禁止它的滑动(微笑地面对*----*). 情况是这样的: activity中有一个viewPager,viewPager中加入3个Fragme ...

  3. Play Framework 完整实现一个APP(十三)

    添加用户编辑区 1.修改Admin.index() public static void index() { List<Post> posts = Post.find("auth ...

  4. MP3文件ID3信息编辑器代码开源 - 开源研究系列文章

    上次把磁性窗体的源码开源了,这次就开源另一个程序源码:MP3文件ID3信息编辑器.这个源码也比较简单,关键在于获取和写入MP3文件的这个ID3的信息即可. 这个操作信息编辑的就封装在MP3ID3.ba ...

  5. git-入门

    一.简介 Git是目前世界上最先进的分布式版本控制系统,Git中绝大部分操作都是访问本地资源,不需要网络,其中有三个概念比较重要:1. 工作目录 2. 暂存区域 3.本地仓库. 简单说明一下,工作目录 ...

  6. freeswitch嵌入python脚本

    操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 python版本:2.7.9 开启python模块 安装python lib库 apt-get install pyt ...

  7. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  8. [Python核心编程] 第1章 欢迎来到Python世界

    什么是Python Python的起源 Python的特点 下载Python 安装Python 运行Python Python文档 比较Python 其他实现   1.什么是Python        ...

  9. Linux运维之基础拾遗

    第一部分 Linux常用文件管理命令 1.1 cp 文件复制 常用选项 -i # 覆盖之前提醒用户确认 -f # 强制覆盖目标文件 -r # 递归复制目录 -d # 复制符号链接本身而非其指向的源文件 ...

  10. [笔记]linux用户与用户组

    sudo useradd -m john 自动建立主目录 sudo passwd john sudo useradd -g groupusers mike sudo useradd -s /bin/b ...