Spring MVC Web框架

1. Spring MVC简介

  Spring MVC是java EE平台请求驱动类型的轻量级Web框架,使用了MVC设计模式的思想,spring框架的主要优势之一就是分层架构,分层架构允许选择使用任何一个组件,同时也可以集成其它框架技术,例如:Struts2、Hibernate等

  Spring框架具有以下特点:

  1. 方便解耦,简化开发。通过spring3提供的IoC容器,可以将对象之间的依赖关系交由Spring3控制,避免编码所造成的程序过度耦合

  2. AOP编程的支持。通过Spring3提供的AOP功能,方便进行面向切面编程,许多不容易使用面向对象程序设计(OOP)实现的功能可以通过AOP轻松实现

  3. 声明式事务的支持。通过声明方式灵活地进行事务管理,提高开发效率和质量

  4. 方便集成各种优秀框架。

  Spring框架各个组件的功能:

  1. 核心容器

  核心容器提供Spring3框架基本的功能。核心容器的主要组件是BeanFactory和ApplicationContext。容器使用控制反转(IoC)模式将应用程序的配置和依赖性规范和实际的应用程序代码分开。

  2. Spring上下文

  Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如,校验、JNDI、EJB、电子邮件、国际化等

  3. Spring AOP

  通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到Spring框架中,pring AOP模块提供了事务管理服务。

  4. Spring DAO

   JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。

  5. Spring ORM

  Spring插入了若干个ORM框架,从而提供了ORM的工具,其中包括JDO、Hibernate、iBatisSQL Map。

2. Spring IoC(控制反转)

  IoC是Inversion of Control的缩写,就是通过IoC容器来实现对象组件的装配和管理。也就是说,所有组件都是被动的,所有的组件初始化和调用都由IoC容器负责。

  Spring IoC经常用到一个设计模式——工厂模式,工厂模式提供创建对象的接口。

  Spring框架两个最基本的包是:org.springframework.beans.factory(主要接口是BeanFactory)和org.springframework.context(主要接口是ApplicationFactory)

  IoC主要组件:

  1. Beans

  Beans指项目中提供业务功能Bean,即IoC容器要管理的Bean,Bean可以包含一些属性的getter和setter方法,也可以包含其他方法

  2. 配置文件

  Spring对Bean的管理在配置文件中进行.Bean的配置文件是一个xml文件,他通常命名为beans.xml、applicationContext.xml等,配置文件包含Bean的id、类、属性及其值。IoC容器通过Bean的id从Bean配置文件中取得Bean的类,并生成该配置文件的一个对象。

  3. BeanFactory接口及其相关类

  BeanFactory采用了工厂设计模式,即Bean容器模式,负责读取Bean的配置文件,管理对象的生成、加载,维护对象之间的依赖关系,负责Bean对象的生命周期。

  org.springframework.beans.factory.BeanFactory是一个顶级接口,它包含管理Bean的各种方法,例如:getBean(String name),,根据Bean的id生成Bean的对象

  4. ApplicationContext接口及其相关类

  ApplicationContext接口提供高级功能的容器,例如:提供访问资源文件的更方便的方法,支持国际化等

  注入的两种方式:

  1. 设置注入

  设置注入是通过setter方法注入被调用者的实例

  2.构造注入

  利用构造方法来设置依赖注入

时间: 2024-10-28 19:19:58

Spring MVC Web框架的相关文章

使用Maven创建一个Spring MVC Web 项目

使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 released 5.Tomcat7 6.Logback 1.0.13 日志输出组件 接下来开始演示如何用Maven模板创建web项目 1.使用maven-archetype-webapp模板快速创建web项目的骨架结构 打开控制台,进入到你想要创建web项目的目录,然后运行如下命令: 1 $ mvn ar

Spring学习(二)——使用用Gradle构建一个简单的Spring MVC Web应用程序

1.新建一个Gradle工程(Project) 在新建工程窗口的左侧中选择 [Gradle],右侧保持默认选择,点击next,模块命名为VelocityDemo. 2.在该工程下新建一个 module,在弹出的窗口的左侧中选择 [Gradle],右侧勾选[Spring MVC],如下图所示: 并勾选[Application server],下方选择框中选择Tomcat7.0,如无该选项,则选中右边的 [ New... ] -- [ Tomcat Server ], 配置 Tomcat .配置好后

spring mvc控制框架的流程及原理1: 总概及源码分析

主要介绍spring mvc控制框架的流程及原理 Spring Web MVC处理请求的流程 具体执行步骤如下: 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分:图2-1中的1.2步骤: 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理:处理完毕后返回一个Model

[读后感]spring Mvc 教程框架实例以及系统演示下载

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 不要好意思,昨晚写的,睡着忘发了,后附是篇好文,赶紧w分享一下. 感脚着,俺好像做了件聪明事儿,却不知会不会遭到不理解. 转载的好文,是不会推荐到

搭建基于全注解的Spring+Spring MVC+Hibernate框架

以实例讲解Spring+Spring MVC+Hibernate框架搭建步骤: 一.配置web.xml Xml代码   <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XML

spring Mvc Web 编码相关 [model 到 视图传递数据] (九)

在某种编码环境,由bean注解的参数可能会发生乱码问题. 即可页面web.xml或其他地方都设备UTF-8, 但还是会有这样的问题. 首先不要使用model传到视图的数据. 第二,不要request.getParamer或request.getAttribute方式,这其他就有解码内置. 第三,首先对传进来的url,其中有汉字的进行escape加码,再传到目标端. 第四,经过escape的参数,使用request.getParameter或attribute获取值为 null spring Mv

Spring Mvc Web 配置拦截规则与访问静态资源 (三)

拦截规则配置 1. *.do <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name

新建 Spring Mvc Web + Maven 的 maven 错误 (二)

新建项目后,可能由于哪边配置不正确,或也可能是编码问题,就有可能在创建初始就可能发生错误: 这是 pom.xml 中提示的错误,有的人说要删除 maven 的本地仓库位置:c:\用户[Users]\Administrator\.m2的文件夹,有的说只要下载的包即要: 这里我们重建本项目构建空间的 maven 仓库位置; Maven配置 当然你本机或服务器,应当要有 maven 的文件包,maven 不必安装,只需要拷贝到适当的位置即可,这里用的 3.0.4版: 修改配置 1. 首先在本地选择或创

spring mvc web应用启动时就执行特定处理(线程启动)

package com.sdt.platform.index.controller; import java.net.URL; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.annotation.Resource; import org.springframework.beans.BeansException; import org.sprin