spring
Java码界探秘
本博客不再维护,搬家到 http://zthinker.com。个人公众号(Java码界探秘)
展开
-
Spring开闭原则的表现-BeanPostProcessor扩展点-2
上接Spring提供的BeanPostProcessor的扩展点-1继续分析。 四、BeanPostProcessor接口及回调方法图 从图中我们可以看出一共五个接口,共十个回调方法,即十个扩展点,但我们之前的文章只分析了其中八个,另外两个稍候也会解析一下是干什么的。 =================================================转载 2014-07-15 10:56:55 · 1209 阅读 · 0 评论 -
SpringMVC源码剖析(一)- 从抽象和接口说起
SpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的开发者们就算没使用过SpringMVC,也应该对其略有耳闻。我试图通过对SpringMVC的设计思想和源码实现的剖析,从抽象意义上的设计层面和实现意义上的代码层面两个方面,逐一揭开SpringMVC神秘的面纱,本文的代码,都是基于Spring的 3.1.3RELEASE版本。任何一个框架,都有转载 2014-02-26 20:27:27 · 654 阅读 · 0 评论 -
Spring MVC 3.2 技术预览(三):动手写一个异步Controller方法
原文地址:http://blog.springsource.org/2012/05/10/spring-mvc-3-2-preview-making-a-controller-method-asynchronous/ 前面的文章中我介绍了Servlet 3、Spring MVC 3.2中支持异步的新特性,并介绍了一些实时更新的技术背景。在这篇文章中,我将展示一些S转载 2014-02-26 15:24:37 · 636 阅读 · 0 评论 -
SpringMVC-Mybatis-Maven项目整合
上次不知道为什么,把写好的系列文章都搞成一样了。结果,五篇文章,都变成了最后一篇文章。悲剧,好吧,只好重新写了。这系列文章写的是SpringMVC-Mybatis-Maven项目整合。说白了,其实就是写一个用maven构造的SpringMVC与Mybatis的demo项目。既然是Maven项目,首先肯定看看pom.xml。在看pom.xml之前,请自行构架一个空的m转载 2014-02-25 16:36:13 · 1162 阅读 · 0 评论 -
SpringFlex框架搭建
或者参考http://limingnihao.iteye.com/blog/830409。使用Eclipse的Maven构建SpringMVC项目。1.1 简单介绍 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging)技术转载 2014-02-25 10:08:55 · 2571 阅读 · 1 评论 -
如何快速构建基于Spring4.0的Rest API(攻略)
本文由 ImportNew - 邬柏 翻译自 javacodegeeks。如需转载本文,请先参见文章末尾处的转载要求。ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Java开发 小组。参与方式请查看小组简介。这是关于使用Spring MVC创建Web API的另一个教程。这并不是一个非常精细的教程,而仅仅是一个演习(攻略)。本教程旨在创建一个提供服务器转载 2014-02-11 18:43:43 · 775 阅读 · 0 评论 -
Spring3.0核心组件的源码简单分析
前言 本文结合Spring3.0的源码进行简单的介绍,这里的核心组件不是我们常见所谓的IOC和AOP,而是以Spring3.0发布的开发包为切入点,当然Spring3.0以后的各个版本基本上差不多,思想不变,添加的主要就是对于各种特性的增强。一 组件概述 Spring3.0以后的版本和以前的版本开发包组织方式不同了,官方也不将其依赖包一并包含在其中,要想使用,就转载 2014-02-23 20:37:03 · 577 阅读 · 0 评论 -
Spring的IOC容器创建过程深入剖析
前言 本次对于Spring的IOC容器的创建过程是基于其源码进行研究分析的,主要涉及BeanFactory的创建过程,Bean的解析与注册过程,Bean实例化的过程以及诸如ClassPathXmlApplicationContext的IOC构建过程。IOC容器创建过程 在Spring中,三大核心组件Context、Bean以及Core中,Context将Bean转载 2014-02-23 20:25:26 · 881 阅读 · 0 评论 -
Spring源码学习 ------ IoC——AOP
一直想抽空把Spring源码拿来读读,但真正去做这件事的时候发现不简单,Spring发展这么多年,它的规模已不是一个一般的开源框架所能比的,它的主要架构和流程不是非常清晰,很难抓到要害,但有一点可以肯定,它的根基是IoC和AOP,所有的功能扩展和对其他开源框架的支持都是基于这两点来做的,因此要搞定Spring源码主要就是要搞定IoC和AOP这两块。IoC从原理上来说是非常简单的,无非就是从转载 2014-02-23 16:57:32 · 600 阅读 · 0 评论 -
基于Spring源码分析AOP的实现机制
Spring一个重要的特性就是提供了AOP,使得我们可以在原有的基础上增加我们自己的系统业务逻辑。使得我们系统业务逻辑与应用业务逻辑相分离,耦合性降低,并且大大的提高了开发的效率。Spring的AOP利用的就是动态代理方式,在Spring的AOP中,有两种实现方式。第一种,就是利用JDK的Proxy,另外一种就是采用CGLIB来实现的。 基本概念:Advice: 通转载 2014-02-23 20:01:41 · 554 阅读 · 0 评论 -
Spring AOP介绍及源码分析
软件开发经历了从汇编语言到高级语言和从过程化编程到面向对象编程;前者是为了提高开发效率,而后者则使用了归纳法,把具有共性的东西进行归类并使之模块化,达到便于维护和扩展的目的;如果说面向对象编程可以对业务需求进行很好的分解使之模块化;那么面向切面编程AOP(Aspect-Oriented Programming)则可以对系统需求进行很好的模软件开发经历了从汇编语言到高级语言和从过程化编程到面向对象编转载 2014-02-23 16:53:39 · 673 阅读 · 0 评论 -
Spring AOP 详解
此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题。最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。本文是权当本人的自己AOP学习笔记,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。对部分函数的调用进行日志记录,用于观转载 2014-02-23 16:43:48 · 426 阅读 · 0 评论 -
Spring AOP实现原理与CGLIB应用
AOP(Aspect Orient Programming),也就是面向方面编程,作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在 Java EE 应用中,常常通过 AOP 来处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理主要分为静态代理和动态代转载 2014-02-23 16:42:43 · 597 阅读 · 0 评论 -
spring IOC 实现原理模拟实现
原文系装载: http://blog.sina.com.cn/s/blog_6a7f00ed01011dyv.html最近对spring IOC AOP 机制实现原理了解了下,在此做下整理,希望能给需要的朋友予以帮助。整理的资料来自互联网,文章开头是我写的测试代码例子,可以直接导入eclipse,别忘了导入dom4jjar包。 例子代码下载链接:http://downloa转载 2014-02-21 23:56:21 · 738 阅读 · 0 评论 -
SpringMVC源码剖析(二)- DispatcherServlet的前世今生
上一篇文章《SpringMVC源码剖析(一)- 从抽象和接口说起》中,我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口。我刻意忽略了源码中的处理细节,只列出最简单的类甚至是接口类,目的就是让大家先从最高层次的抽象意义上来审视SpringMVC这个框架;我也刻意将SpringMVC和Struts2做对比,目的是让大家看到,SpringMVC究竟吸取了Sturts2设转载 2014-02-26 20:36:35 · 610 阅读 · 0 评论 -
Spring MVC 3.2 技术预览(一):Servlet 3介绍,异步支持
原文地址:http://blog.springsource.org/2012/05/06/spring-mvc-3-2-preview-introducing-servlet-3-async-support/ 概述: Spring MVC 3.2 M1将引入基于Servlet 3.0支持的异步请求处理,我将针对Spring MVC 3.2的新特性发布一系列文章转载 2014-02-26 15:23:11 · 1066 阅读 · 0 评论 -
Spring MVC 3.2 技术预览(二):实时更新技术
原文地址:http://blog.springsource.org/2012/05/08/spring-mvc-3-2-preview-techniques-for-real-time-updates/ 在上一篇文章中,我介绍了新的Servlet 3,这是Spring MVC 3.2的新特性——异步支持——的运行环境。第二种使用异步处理的非常主要的原因是使浏览器接转载 2014-02-26 15:23:59 · 654 阅读 · 0 评论 -
Spring Aop技术原理分析
本篇文章从Aop xml元素的解析开始,分析了Aop在Spring中所使用到的技术。包括Aop各元素在容器中的表示方式、Aop自动代理的技术、代理对象的生成及Aop拦截链的调用等等。将这些技术串联起来,就能勾勒出Aop在Spring中的使用脉络。一、Spring Aop的解析 在Spring xml配置中,不同的功能配置通过不同的命名空间引入,如事务方面的配置通过引入http:/转载 2014-07-15 10:50:17 · 690 阅读 · 0 评论 -
Spring开闭原则的表现-BeanPostProcessor的扩展点-1
上接Spring事务处理时自我调用的解决方案及一些实现方式的风险继续分析,在分析上篇的问题之前,我们需要了解下BeanPostProcessor概念和Spring容器创建Bean的流程。 一、BeanPostProcessor是什么接口定义Java代码 package org.springframework.beans.factory.config; pub转载 2014-07-15 10:56:18 · 2407 阅读 · 0 评论 -
SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解——跟着开涛学SpringMVC
6.6.2、@RequestParam绑定单个请求参数值@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。Java代码 public String requestparam1(@RequestParam String username) 请求中包含username参数(如/requestparam1?username=zhang),则转载 2014-05-14 16:59:54 · 668 阅读 · 0 评论 -
@RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转载)
转载自:http://blog.csdn.net/walkerjong/article/details/7946109 学习了下,对@RequestBody,@SessionAttributes,@ModelAttribute还不是很了解,继续学习,也望知道的能告诉我一下,谢谢。简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同转载 2014-05-14 16:59:42 · 540 阅读 · 0 评论 -
Spring定时任务的几种实现
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个java.util.T转载 2014-04-21 18:22:06 · 444 阅读 · 0 评论 -
spring <context:annotation-config> 跟 <context:component-scan>诠释及区别
和 的区别Difference between vs 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。 下面我们通过例子来详细查看他们的区别,有三个class转载 2014-04-22 11:14:26 · 499 阅读 · 0 评论 -
Spring常见面试问题
Spring1. Spring工作机制及为什么要用?Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。Spring既是一个AOP框架,也是一IOC容器。SpringFramework的组成:Spring AOP,Spring DAO,Spring ORM,Spring Web,Spring Context, Spring Web MVC。Spring的核转载 2014-03-07 00:48:51 · 571 阅读 · 0 评论 -
Spring的JDBCTemplate
本文引自:http://www.blogjava.net/176142998/archive/2009/02/03/221507.htmlSpring的JDBCTemplate当hql等查询方式不能满足性能或灵活性的要求,必须使用SQL时,大家有三种选择:第一、使用Hibernate 的sql 查询函数,将查询结果对象转为Entity对象。第二、使用Hibernat转载 2014-03-06 21:17:55 · 519 阅读 · 0 评论 -
JdbcTemplate学习笔记
1、使用JdbcTemplate的execute()方法执行SQL语句 Java代码 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))"); 2、如果是UPDATE或INSERT,可以用update()方法。 Java代码转载 2014-03-06 21:21:04 · 493 阅读 · 0 评论 -
SpringMVC源码剖析(三)- DispatcherServlet的初始化流
在我们第一次学Servlet编程,学java web的时候,还没有那么多框架。我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转到我们定义好的jsp页面。Servlet类编写完之后在web.xml里注册这个Servlet类。除此之外,没有其他了。我们启动web服务器,在浏览器中输入地址,就可以看到浏览器上输出我们写好的转载 2014-02-26 21:24:58 · 555 阅读 · 0 评论 -
SpringMVC源码剖析(二)- DispatcherServlet的前世今生
上一篇文章《SpringMVC源码剖析(一)- 从抽象和接口说起》中,我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口。我刻意忽略了源码中的处理细节,只列出最简单的类甚至是接口类,目的就是让大家先从最高层次的抽象意义上来审视SpringMVC这个框架;我也刻意将SpringMVC和Struts2做对比,目的是让大家看到,SpringMVC究竟吸取了Sturts2设转载 2014-02-26 21:24:18 · 590 阅读 · 0 评论 -
Spring源代码解析(四):Spring MVC
下面我们对Spring MVC框架代码进行分析,对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.我们从分析DispatcherServlet入手: Java代码 //这里是对DispatcherServlet的初始化方法,根据名字我们很方面的看到对各个Spring MVC主要元素的初始转载 2014-02-26 22:07:06 · 603 阅读 · 0 评论 -
SpringMVC源码剖析(四)- DispatcherServlet请求转发的
SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即“service”阶段。在“service”阶段中,每一次Http请求到来,容器都会启动一个请求线程,通过service()方法,委派到doGet()或者doPost()这些方法,完成Http请求的处理。在初始化流程中,SpringMVC巧妙的运用依赖注入读取参数,并最终建立一个与容器上下文相关联的Spr转载 2014-02-26 21:25:50 · 682 阅读 · 0 评论 -
spring源码学习之路---环境搭建(一)
最近已经开始了spring源码的学习,如果有哪位同学或者同道对此也感兴趣,可以跟着我一起学习,互相探讨spring的实质,扒开它的衣服。 正题开始,学习源码第一步自然是配置学习的环境,需要具备以下条件: 1.JDK 1.6 2.开发工具eclipse或者myeclipse,或者你自己熟悉的JAVA开发工具。 3.安装SVN插件转载 2014-02-21 23:39:32 · 634 阅读 · 0 评论 -
【Spring】IOC核心源码学习(二):容器初始化过程
接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以 ClassPathXmlApplicationContext 这个容器的实现作为基础,学习容器的初始化过程。ClassPathXmlApplicationContext 类体系结构以下是 ClassPathXmlApplicationContext 的类继承体系结构,理解这个结构有助于后面的代码理解。转载 2014-02-21 20:44:50 · 703 阅读 · 0 评论 -
ApplicationContext
l配置文件展开编辑本段简介实用的Bean工厂ApplicationContextApplicationContext的中文意思是“应用上下文”,它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持、资源访问(如URL和文件)、事件传播等方面进行了良好的支持,被推荐为Java EE应用之首选,可应用在Java APP与转载 2013-05-11 19:31:26 · 641 阅读 · 0 评论 -
用Spring 2.0和AspectJ简化企业应用程序
Spring:简单而强大Spring的目标是使企业应用程序开发尽可能地简单和高效。这一理论的实例可以从Spring的JDBC、ORM、JMX、依赖注入等方法,以及企业应用程序开发的其他许多重要领域中见到。Spring还区分了使事情简单化和过分单纯化之间的差异。最不可思议的是同时提供了简单化和强大的功能。企业应用程序中复杂性的一个根源来自影响应用程序多个部分的特性和需求的实现。相关于这些特性转载 2013-05-22 19:44:05 · 818 阅读 · 0 评论 -
使用Spring框架和AOP实现动态路由
本文的大体思路是展示了一次业务交易如何动态地为子系统处理过程触发业务事件。本文所示的例子使用Spring框架和Spring AOP有效地解耦业务服务和子系统处理功能。现在让我们仔细看看业务需求。业务需求客户注册系统(CRS——customer registration system)在其完成客户在线注册后需要发送通知给它的客户,并传送他们的地址数据到发票系统(invoice sys转载 2013-05-22 19:42:38 · 717 阅读 · 0 评论 -
使用Spring AOP和AspectJ编排工作流
1. 简介如果你需要实现一个流式的流程,特别是嵌入的,并且你想让其易于配置、扩展、管理和维护。你是否需要一个功能齐备的BPM引擎呢:引擎都有自己的抽象负载,它对于你正在寻找的简单流程编排来说似乎过于笨重了;或者有什么轻量级的替代方案可以使用,让我们不必采用一个功能齐备的BPM引擎?本文说明了如何使用面向方面编程(AOP)技术来构建并编排高可配置、可扩展的轻量级嵌入式流程流(process转载 2013-05-22 19:40:52 · 1613 阅读 · 0 评论 -
Spring 系列: Spring 框架简介
Spring AOP 和 IOC 容器入门Naveen Balani (naveenbalani@rediffmail.com), 技术架构师, Webify Solutions简介: 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。developerWorks 的定期转载 2013-05-08 22:36:05 · 595 阅读 · 0 评论 -
控制反转
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。目录起源设计模式优缺点实现初探类型实现策略编辑本段起源早在2004年,Martin F转载 2013-05-08 22:32:10 · 505 阅读 · 0 评论 -
使用 Spring Data JPA 简化 JPA 开发
Spring Data JPA 开发指南张 建平, 高级项目经理, iSoftStone Co.,Ltd简介: 本文由浅入深地讲述了使用 Spring Data JPA 需要关注的各个方面,为读者了解和使用该框架提供了指导,可以作为 Spring Data JPA 的学习指南。发布日期: 2012 年 3 月 01 日 级别: 初级 访问转载 2013-05-08 22:57:20 · 1099 阅读 · 1 评论 -
使用 Java 配置进行 Spring bean 管理
学习使用 Java 配置管理 Spring beanRajeev Hathi, 高级软件顾问, IBM简介: Spring bean 是使用传统的 XML 方法配置的。在这篇文章中,您将学习使用基于纯 Java 的配置而非 XML 来编写 Spring bean 并配置它们。本文将介绍可用来配置 bean 的多种注释。此外还将演示基于 Java 的配置,将它与基转载 2013-05-08 22:58:41 · 571 阅读 · 0 评论