在上一篇<Spring--Web应用中的IoC容器创建(WebApplicationContext根应用上下文的创建过程)>中说到了Web应用中的IoC容器创建过程.这一篇主要讲SpringMVC的核心DispatcherServlet. 从web.xml中简要回顾一下WebApplicationContext根应用上下文的创建过程.具体过程详见上篇博客. <!--WebApplicationContext配置参数--> <context-param> <para…
在使用spring+springMVC的web工程中,我们一般会在web.xml中做如下配置: <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:application.xml</param-value> </context-param> <!-- spring context listener -->…
它既是 DispatcherServlet 的 (WebApplicationContext)默认策略,又是 ContextLoaderListener 创建 root WebApplicationContext(根容器,同时也是 DispatcherServlet 的 WebApplicationContext 的父容器)的默认策略. 继承体系 一.XmlWebApplicationContext实例化过程 spring的配置文件加载是以监听的方式加载的xml配置文件 spring-web-4…
使用Spring MVC,配置DispatcherServlet是第一步. DispatcherServlet是一个Servlet,所以能够配置多个DispatcherServlet. DispatcherServlet是前置控制器,配置在web.xml文件里的.拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,根据某某规则分发到目标Controller(我们写的Action)来处理. HandlerMapping接口的实现类的不同而不同. 第一个样例 <?xml vers…
前言 在使用Spring和SpringMVC的老版本进行开发时,我们需要配置很多的xml文件,非常的繁琐,总是让用户自行选择配置也是非常不好的.基于约定大于配置的规定,Spring提供了很多注解帮助我们简化了大量的xml配置:但是在使用SpringMVC时,我们还会使用到WEB-INF/web.xml,但实际上我们是完全可以使用Java类来取代xml配置的,这也是后来SpringBoott的实现原理.本篇就来看看Spring是如何实现完全的零XML配置. 正文 先来看一下原始的web.xml配置…
1:springmvc.xml配置要点 一般它主要配置Controller的组件扫描器和视图解析器 下为:springmvc.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-…
前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven:eclipse-maven tomcat:apache-tomcat-8.0.33 整合资料参考:http://www.iteye.com/blogs/subjects/ssm_demo 这个的配置过程比较简单,搞清楚关系就可以了. 二.maven.springmvc.mybatis 简单介绍 m…
前言 在Spring Web项目中,有些特殊的时候需要在非Spring IOC容器下获取Spring IOC容器的上下文环境,比如获取某个bean. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spring.version>4.0.9.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>jav…
研究IOC首先创建一个简单的web项目,在web.xml中我们都会加上这么一句 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>…
5. IoC容器 5.1介绍Spring IoC容器和bean 5.2容器概述 本章介绍Spring Framework实现控制反转(IoC)[1]原理.IoC也被称为依赖注入(DI).它是一个过程,对象通过构造函数参数,工厂方法的参数或在工厂方法构造或返回后在对象实例上设置的属性来定义它们的依赖关系,即它们使用的其他对象.容器在创建bean时会注入这些依赖关系.这个过程从根本上来说是相反的,因此名为控制反转(IoC),bean本身通过使用类的直接构造来控制其依赖关系的实例化或位置,或者诸如服务…
目录 1 什么是spring框架 2 spring框架的特点 3 spring容器 3.1 什么是spring容器 3.2 spring容器创建对象的编程步骤 3.4 spring容器创建对象的方式 3.5 bean元素的几个重要属性 4 IOC 4.1 什么是IOC 4.2 什么事DI 4.3 DI的三种方式 1 什么是spring框架 是一个开源的用来简化企业级应用开发的框架 2 spring框架的特点 2.1 简化开发 spring对一些常见的api(比如jdbc)做了封装,使用这些封装之…
Ioc 器管理的应用程序设计,前奏:容器属于哪里?   我将讨论一些我认为应该应用于“容器管理”应用程序设计的原则. 模式1:服务字典 字典或关联数组是我们在软件工程中学到的第一个构造. 很容易看到使用依赖注入组成对象的字典和IoC容器之间的类比: 未使用容器 使用容器 这两看起来不同的是: 一些花哨的新术语'Register'和'Resolve'被使用,而不是索引器访问 记录器是通过反射创建的,在相互依赖的情况下保存一些打字和配置代码 如果你进入一个已经建立了依赖注入容器的项目,并且必须弄清楚…
Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器的入口refresh()方法,并且分析了refresh()方法里面的前三个子方法分析了一下.还记得分析了什么麽?估计早忘了分析了什么,可以说是看了个寂寞.但是不要慌,看了忘肯定是正常的,需要回顾复习一下,最好做点笔记记录一下,有自己的沉淀才会印象深刻.最好跟着代码自己调试几遍,纸上得来终觉浅,绝知此…
今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servlet和jsp的生命周期,以及他们的共享数据等 广义上的.绝大部分Servlet容器同时也可以作为web server. 以tomcat为例,狭义上它可以分为连接器和servlet容器,容器只负责servlet逻辑,和用户的网络连接交由连接器处理. 广义上我们可以整个把他称为servlet容器,大家视…
1.IOC service Provider的概念.IoC Service Provider在这里是一个抽象出来的概念,它可以指代任何将IoC场景中的业务对象绑定到一起的实现方式.它可以是一段代码,也可以是一组相关的类,甚至可以是比较通用的IoC框架或者IoC容器实现. 2.IOC service provider的两项职责 IoC Service Provider的职责相对来说比较简单,主要有两个:业务对象的构建管理和业务对象间依赖绑定. 业务对象的构建管理. 在IoC场景中,业务对象无需关心…
在SSM项目中,会有SpringMvc容器(子容器)和Spring容器(父容器) 一共2个容器 基本规则: 子容器可以访问父容器的bean,父容器不能访问子容器的bean. 当<context:component-scan base-package=“com.test" />配置到applicationContext.xml中,而springMVC中不配置的时候,Spring加载了所有的bean, ,Controller层的这个bean,springMVC虽然可以访问到,但是spri…
转自:https://blog.csdn.net/tjiyu/article/details/53148174 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器  Java EE服务器 平时我们经常看到各种容器名称:Servlet容器.WEB容器.Java WEB容器.Java EE容器等,还有各种服务器名称:应用服务器.WEB服务器.WEB应用服务器.Java WEB应用服务器.Java EE服务器等,这么多相似名称,难以弄明白它们之间…
web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么? 这是我在网上找的一些资料:1. Web浏览器除了可以在本地硬盘上打开网页文档外,还可以使用http网络协议从网络上的Web服务器(也叫www服务器)上获取网页文档的内容. 2. Web浏览器与Web服务器分别代表着TCP网络程序的客户机和服务器. 3. 无论网站规模的大小,最起码的工作就是要在用做Web服务器的计算机上安装某种Web服务器软件.只要在一台计算机上安装了Web服务器软件,从功能上讲,这台计算机就可以成为…
Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理 前言 上一篇分析了BeanFactoryPostProcessor的作用,那么这一篇继续在refresh()方法里游荡,相信对Spring熟悉点的朋友,在看完BeanFactoryPostProcessor后,一定会想到Spring里面还有个BeanPostProcessor,那这个东西是什么作用呢?下面会进行介绍,同时由于注册BeanPostProcessor的逻辑比较简单,这里会穿…
1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的.Spring MVC 可对外提供服务时,说明其已经处于了就绪状态.再次之前,Spring MVC 需要进行一系列的初始化操作.正所谓兵马未动,粮草先行.这些操作包括创建容器,加载 DispatcherServlet 中用到的各种组件等.本篇文章就来和大家讨论一下这些初始化操作中的容器创建操作,容器的创建是其他一些初始化过程的基础.那其他的就不多说了,我们直入主题吧. 2.容器的创建过程 一般情况下,我们…
容器是整个Spring 框架的核心思想,用来管理Bean的整个生命周期. 一个项目中引入Spring和SpringMVC这两个框架,Spring是父容器,SpringMVC是其子容器,子容器可以看见父容器中的注册的Bean,反之就不行.请记住这个特性. spring 容器基础释义 1 我们可以使用统一的如下注解配置来对Bean进行批量注册,而不需要再给每个Bean单独使用xml的方式进行配置. <context:component-scan base-package="com.amu.mo…
ASP.NET Web API 控制器创建过程(二) 前言 本来这篇随笔应该是在上周就该写出来发布的,由于身体跟不上节奏感冒发烧有心无力,这种天气感冒发烧生不如死,也真正的体会到了什么叫病来如山倒,病去如抽丝.这两天状态才好了一点,让我理解了什么才是革命的本钱,希望大家也多保重身体. 好了,还是回归主题,对于上一篇的内容讲解的只是ASP.NET Web API控制器创建过程中的一个局部知识,在接着上篇内容讲解的之前,我会先回顾一下上篇的内容,并且在本篇里进行整合,让我们要看到的是一个整个的创建过…
ASP.NET Web API 控制器创建过程(一) 前言 在前面对管道.路由有了基础的了解过后,本篇将带大家一起学习一下在ASP.NET Web API中控制器的创建过程,这过程分为几个部分下面的内容会为大家讲解第一个部分,也是ASP.NET Web API框架跟ASP.NET MVC框架实现上存在不同的一部分. ASP.NET Web API 控制器创建.激活过程 ASP.NET Web API 控制器创建过程(一) ASP.NET Web API 控制器创建过程(二) 未完待续 环境描述.…
在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为[死磕 Spring]系列博客的第一篇博文,主要介绍 IoC 基本概念和各个组件. IOC 理论 IoC 全称为 Inversion of Control,翻译为 "控制反转",它还有一个别名为 DI(Dependency Injection),即依赖注入. 如何理解"控制反转"好呢?理解好它的关键在于我们需要回答如…
在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为[死磕 Spring]系列博客的第一篇博文,主要介绍 IoC 基本概念和各个组件. IOC 理论 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入. 如何理解“控制反转”好呢?理解好它的关键在于我们需要回答如下四个问题: 谁控制谁 控制什…
一.Spring容器(父容器) 1.Mapper代理对象 2.Service对象 二.Springmvc(前端控制器)(子容器)        Controller对象 1.标准的配置是这样的:Controller只在SpringMVC的配置文件扫描.Service等只在Spring容器的配置文件配置扫描.        2.Spring中也可以扫描Controller,但是使用时还是使用的SpringMVC自己的(自己没有配置,那么不能用),造成对象冗余,而且使用时事务控制可能有问题.   …
话不多说,直接上案例 package com.oukele.web; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.ann…
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1.14.RELEASE 目录 1. 什么是 Spring Framework ? 2. Spring Framework 的优势和不足? 3. 你对 IoC 的理解? 4. 为什么需要 IoC ? 5. IoC 和 DI 的区别? 6. IoC 容器的职责? 7. 什么是 Spring IoC 容器?…
Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Container,翻译过来也就是Ioc容器.为什么会被叫做容器呢?我们来比对一下日常生活中的容器,也就是那些瓶瓶罐罐.假设我们有个大米缸,里面提前放好了米,等我们需要米的时候,我们就可以到大米缸里面取.那么Ioc也是一样的道理,里面有一个容器singletonObjects(提前透露这里容器的类型是Concurr…
前言 Web API的简单流程就是从请求到执行到Action并最终作出响应,但是在这个过程有一把[筛子],那就是过滤器Filter,在从请求到Action这整个流程中使用Filter来进行相应的处理从而作出响应,这对于认证以及授权等是及其重要的,所以说过滤器应用是Web API框架中非常重要的一种实现方式,我们有必要去探讨其原理. 过滤器及其提供机制 Web API框架提供了一个请求.响应的消息处理管道,并且其框架极具扩展性,通过其扩展可以对执行的流程进行适当的干预,其扩展点就体现在以下三个方面…