
Spring
文章平均质量分 88
lcczzu
这个作者很懒,什么都没留下…
展开
-
SpringMVC注解@RequestParam全面解析
在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取。这里主要讲这个注解 一、基本使用,获取提交的参数 后端代码: Java代码 @RequestMapping("testRequestParam") public Stri转载 2015-08-18 11:46:28 · 1167 阅读 · 0 评论 -
《Spring技术内幕》学习笔记2——IoC定位Bean定义资源
1.IoC容器初始化:Spring的IoC容器初始化包括:Bean定义资源文件的定位、载入和注册3个基本过程。(1).Bean定义资源文件的定位:Bean定义资源文件定位由ResourceLoader通过统一的Resource接口来完成,Resource接口将各种形式的Bean定义资源文件封装成统一的、IoC容器可进行载入操作的对象。(2).Bean定义资源文件的载入:Bean转载 2015-07-16 10:47:59 · 519 阅读 · 0 评论 -
Spring学习笔记1——基础知识
1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EEdevelopment without EJB》是java高手进阶必看的宝典,Spring就是从这两本书的理论发展起来的。Spring主要转载 2015-07-16 10:45:53 · 422 阅读 · 0 评论 -
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用
1.Spring中除了提供HTTP调用器方式的远程调用,还对第三方的远程调用实现提供了支持,其中提供了对Hessian的支持。Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实现方案,Hessian也是基于HTTP协议的,其工作原理如下:(1).客户端:a.发送远程调用请求:客户端程序—>发送远程调用请求—>Hessian客户端拦截器—>封装远程调用请求—>H转载 2015-07-16 11:00:18 · 509 阅读 · 0 评论 -
《Spring技术内幕》学习笔记13——SqlMapClientTemplate对Ibatis的封装
1. SqlMapClientFactoryBean:Spring中通过SqlMapClientTemplate提供对Ibatis的支持,与Spring对Hibernate的支持类似,Spring中SqlMapClientFactoryBean就是管理Ibatis的IoC容器,我们首先分析SqlMapClientFactoryBean的源码:[java] view plainc转载 2015-07-16 10:57:50 · 666 阅读 · 0 评论 -
《Spring技术内幕》学习笔记16——Spring具体事务处理器的实现
1.Spring的事务处理中,通用的事务处理流程框架是由抽象事务管理器AbstractPlatformTransactionManager来提供的,而具体的底层事务处理实现,由PlatformTransactionManager的具体实现类来实现,如 DataSourceTransactionManager 、JtaTransactionManager和 HibernateTransactionM转载 2015-07-16 10:59:22 · 584 阅读 · 0 评论 -
《Spring技术内幕》学习笔记11——JdbcTemplate封装Jdbc
1.Spring中使用JdbcTemplate封装对Jdbc的支持,使用Spring JdbcTeamplate的例子如下:(1). 假设如下SQL表中有数据username=test1,passwd=test1,address=test1 :[java] view plaincopyCREATE TABLE `login` ( `username` v转载 2015-07-16 10:56:43 · 485 阅读 · 0 评论 -
《Spring技术内幕》学习笔记8——创建AOP代理对象并对目标对象切面拦截
1.Spring AOP的底层实现常用类:分析Spring AOP的底层实现首先要从ProxyConfig类开始,ProxyConfig是所有产生Spring AOP代理对象的基类,它是一个数据类,主要为其AOP代理对象工厂实现类提供配置属性。根据ProxyConfig的继承体系分析创建AOP代理常用类的作用:(1).AdvisedSupport是ProxyConfig的子类,它封装了AO转载 2015-07-16 10:55:02 · 488 阅读 · 0 评论 -
Spring对注解(Annotation)处理源码分析2——解析和注入注解配置的资源
1.类内部的注解,如:@Autowire、@Value、@Required、@Resource以及EJB和WebSerivce相关的注解,是容器对Bean对象实例化和依赖注入时,通过容器中注册的Bean后置处理器处理这些注解的。2.Spring中处理注解的Bean后置处理器:当使用Spring的注解功能时,在Spring配置文件中添加如下配置开启Spring的注解处理器:[xh转载 2015-07-16 10:52:58 · 2044 阅读 · 0 评论 -
《Spring技术内幕》学习笔记3——IoC容器载入Bean定义资源文件
1.当Spring的IoC容器将Bean定义的资源文件封装为Spring的Resource之后,接下来要做的就是通过Spring的资源加载器(resourceLoader)读入Bean定义资源文件的过程。对于IoC容器来说,Bean定义的载入过程就是将Bean定义资源文件读入进内存并解析转换成Spring所管理的Bean的数据结构的过程。相对于SpringIoC容器定位Bean定义资源文件来说,B转载 2015-07-16 10:48:36 · 472 阅读 · 0 评论 -
《Spring技术内幕》学习笔记4——IoC容器解析Bean定义资源并注册解析后的Bean
1.通过前两篇博客的分析,我们已经了解了Spring IoC容器定位和载入Bean定义资源文件的基本过程,接下来我们要继续分析Spring IoC容器将载入的Bean定义资源文件转换为Document对象之后,是如何将其解析为Spring IoC管理的Bean对象并将其注册到容器中的。2.XmlBeanDefinitionReader解析载入的Bean定义资源文件:XmlBeanDefin转载 2015-07-16 10:49:15 · 392 阅读 · 0 评论 -
Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
1.从Spring2.0以后的版本中,Spring也引入了基于注解(Annotation)方式的配置,注解(Annotation)是JDK1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代XML配置文件。开发人员对注解(Annotation)的态度也是萝卜青菜各有所爱,个人认为注解可以大大简化配置,提高开发速度,同时也不能完全取代XML配置方式,XML 方式更加灵活,并且发展的相对转载 2015-07-16 10:52:19 · 809 阅读 · 0 评论 -
《Spring技术内幕》学习笔记17——Spring HTTP调用器实现远程调用
1.Spring中,HTTPInvoker(HTTP调用器)是通过基于HTTP协议的分布式远程调用解决方案,和java RMI一样,HTTP调用器也需要使用java的对象序列化机制完成客户端和服务器端的通信。HTTP调用器的远程调用工作原理如下:(1).客户端:a.向服务器发送远程调用请求:远程调用信息——>封装为远程调用对象——>序列化写入到远程调用HTTP请求中——>向服务器端发送转载 2015-07-16 10:59:48 · 483 阅读 · 0 评论 -
《Spring技术内幕》学习笔记10——Web环境中Spring的启动过程
1.Spring不但可以在JavaSE环境中应用,在Web环境中也可以广泛应用,Spring在web环境中应用时,需要在应用的web.xml文件中添加如下的配置:[xhtml] view plaincopy…… context-param> param-name>contextConfigLocationparam-name> para转载 2015-07-16 10:56:15 · 425 阅读 · 0 评论 -
Spring基于 Annotation 的简单介绍
1.使用 @Repository、@Service、@Controller 和 @Component 将类标识为 Bean:Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO 类上即可。同时,为了让 S转载 2015-07-16 10:51:44 · 387 阅读 · 0 评论 -
《Spring技术内幕》学习笔记6——IoC容器的高级特性
1.通过前面4篇文章对Spring IoC容器的源码分析,我们已经基本上了解了Spring IoC容器对Bean定义资源的定位、读入和解析过程,同时也清楚了当用户通过getBean方法向IoC容器获取被管理的Bean时,IoC容器对Bean进行的初始化和依赖注入过程,这些是Spring IoC容器的基本功能特性。Spring IoC容器还有一些高级特性,如使用lazy-init属性对Bean预初始转载 2015-07-16 10:51:09 · 496 阅读 · 0 评论 -
《Spring技术内幕》学习笔记19——Spring RMI实现远程调用
1.Spring除了使用基于HTTP协议的远程调用方案,还为开发者提供了基于RMI机制的远程调用方法,RMI远程调用网络通信实现是基于TCP/IP协议完成的,而不是通过HTTP协议。在Spring RMI实现中,集成了标准的RMI-JRIM解决方案,该方案是java虚拟机实现的一部分,它使用java序列化来完成对象的传输,是一个java到java环境的分布式处理技术,不涉及异构平台的处理。转载 2015-07-16 11:00:44 · 767 阅读 · 0 评论 -
《Spring技术内幕》学习笔记15——Spring事务处理的实现
1.编程式事务处理:Spring提供编程式和声明式两种事务处理方式,我们首先通过一个编程式事务的小例子了解Spring中编程式事务处理的基本实现:[java] view plaincopy//通过DefaultTransactionDefinition对象来持有事务处理属性 TransactionDefinition td = new DefaultTransac转载 2015-07-16 10:58:57 · 723 阅读 · 0 评论 -
《Spring技术内幕》学习笔记9——AOP通知以及编程式AOP
1.处理AOP配置的通知基本步骤:(1).获取AOP配置的通知Advice:从上一篇博客《创建AOP代理对象并对目标对象切面拦截》对Spring中采用JDK和CGLIB两种方式创建AOP动态代理的源码分析中,我们了解到,在AOP动态代理对象的回调方法中,都需要使用以下方式获取AOP配置的通知,并将获取到的通知和目标对象、代理对象等一起封装为ReflectiveMethodInvocatio转载 2015-07-16 10:55:30 · 384 阅读 · 0 评论 -
《Spring技术内幕》学习笔记7——AOP基础
1.AOP基本概念:Aspect-Oriented Programming,面向方面编程的简称,Aspect是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点(crosscutting concern),从关注点中分离出横切关注点是面向方面程序设计的核心所在。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用,业务逻辑同特定领转载 2015-07-16 10:54:15 · 426 阅读 · 0 评论 -
《Spring技术内幕》学习笔记5——IoC容器的依赖注入
1.当Spring IoC容器完成了Bean定义资源的定位、载入和解析注册以后,IoC容器中已经管理类Bean定义的相关数据,但是此时IoC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况发生:(1).用户第一次通过getBean方法向IoC容索要Bean时,IoC容器触发依赖注入。(2).当用户在Bean定义资源中为元素配置了lazy-init属性,即让容器在解析注册Be转载 2015-07-16 10:50:25 · 572 阅读 · 0 评论 -
Spring学习笔记2——高级特性
1.通过PropertyPlaceholderConfigurer在Spring中加载其他外部配置文件或者属性文件:在很多javaEE工程中,Spring的角色非常重要,是一个管理其他模块和组件的轻量级容器,Spring经常需要管理Struts、Ibatis、Hibernate等,这些开源框架的配置文件就通过Spring的PropertyPlaceholderConfigurer加载在Spri转载 2015-07-16 10:46:51 · 343 阅读 · 0 评论 -
springMVC教程-快速入手-深入分析
资源下载:Spring_MVC_教程_快速入门_深入分析V1.1.pdfSpringMVC核心配置文件示例.rar 作者:赵磊博客:http://elf8848.iteye.com 目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc Dispatc转载 2015-06-26 17:21:06 · 234 阅读 · 0 评论 -
SpringMVC常用基础知识
常用注解元素@Controller 标注在Bean的类定义处@RequestMapping真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping 这个注解@RequestMapping 可以标注在类定义处,将 Controller 和特定请求关联起来;还可以标注在方法签名处,以便进转载 2015-06-26 16:41:27 · 387 阅读 · 0 评论 -
SpringMVC Controller 介绍
一、简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controll转载 2015-06-26 16:40:21 · 288 阅读 · 0 评论 -
Spring缓存注解@Cache使用
缓存注解有以下三个:@Cacheable @CacheEvict @CachePut @Cacheable(value=”accountCache”),这个注释的意思是,当调用这个方法的时候,会从一个名叫 accountCache 的缓存中查询,如果没有,则执行实际的方法(即查询数据库),并将执行的结果存入缓存中,否则返回缓存中的对象。这里的缓存中的转载 2015-06-26 10:39:11 · 323 阅读 · 0 评论 -
Spring整合Hibernate
Spring整合Hibernate的方案如果细分有很多种,以下为本人配置的其中一种此方式不用Hibernate的配置文件,统一集成在spring的配置文件中beans.xml,另外该环境是普通java环境而非web环境实体类public class Tiger { Integerid; Stringname; publicInteger get转载 2015-04-30 18:50:44 · 321 阅读 · 0 评论 -
【2】springmvc 入门
springmvc都是通过其中央控制器DispatcherServlet来进行转发的,所以在web.xml文件里面需要增加相应的配置 ?12345678910111213servlet> servlet-name>springServletservlet-name>转载 2015-04-29 17:54:57 · 272 阅读 · 0 评论 -
【1】web.xml中的spring的配置
在web工程里面使用spring时,需要在web.xml里面配置相关的spring的上下文配置的路径(contextConfigLocation),通常有以下几种配置?123456context-param> param-name>contextConfigLocationparam-name> param转载 2015-04-29 15:01:01 · 338 阅读 · 0 评论 -
spring quartz定时任务配置【基础篇】
一个定时执行的job ?123456789101112131415161718192021package dk.spring.quartz; import java.util.Date; import org.quartz.JobExecu转载 2015-04-29 17:55:54 · 351 阅读 · 0 评论 -
springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明:ModelAndViewJava代码 @RequestMapping("/show1") public ModelAndView show1(HttpSer转载 2015-06-26 16:39:24 · 270 阅读 · 0 评论 -
Spring Model
spring Model 构造要接收参数的值在springMVC中可以用Model对象来构造url的要获取的参数值方法一:@@RequestMapping("/modelcyTest")public String modelcyTest(Model model){ model.addAttribute("name","chaoying"); return "redirec转载 2015-06-26 16:34:45 · 835 阅读 · 0 评论 -
springMVC @ModelAttribute学习
@ModelAttribute 绑定请求参数到命令对象 @ModelAttribute一个具有如下三个作用:①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用;②暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表转载 2015-06-26 16:43:20 · 276 阅读 · 0 评论 -
《Spring技术内幕》学习笔记14——Spring读取和处理事务配置
1.Spring事务处理的基本过程:Spring事务处理主要分以下三个主要的过程:(1).读取和处理在Spring IoC容器中配置的事务处理属性,并转化为Spring事务处理所需要的内部数据结构。(2).Spring事务处理模块实现的统一的事务处理过程。这个通用的事务处理过程包括:处理事务配置属性;事务配置属性与线程绑定等。(3).底层事务处理实现。Spring中底层事务处理的实转载 2015-07-16 10:58:29 · 569 阅读 · 0 评论 -
《Spring技术内幕》学习笔记12——HibernateTemplate对Hibernate的封装
1.Spring中,不提供具体的ORM实现,而只是为应用提供对ORM产品的集成环境和使用平台,Spring将Hibernate的会话工厂通过IoC容器管理起来,并且将数据源注入,同时Spring为Hibernate提供了更上层的API封装,方便应用调用,本文通过分析相应源码了解Spring对Hibernate支持的实现。2.AbstractSessionFactoryBean管理Hiberna转载 2015-07-16 10:57:11 · 1095 阅读 · 0 评论 -
《Spring技术内幕》学习笔记1——IoC容器体系结构
1. BeanFactory类结构体系:BeanFactory接口及其子类定义了Spring IoC容器体系结构,由于BeanFactory体系非常的庞大和复杂,因此要理解Spring IoC,需要先理清BeanFactory的继承机构。2. ApplicationContext的结构体系:ApplicationContext接口是一个BeanFactory基础上封装了更多功能的,转载 2015-07-16 10:47:24 · 619 阅读 · 0 评论 -
Spring源码解析 依赖注入
当IoC容器的初始化完毕后,我们就要接触IoC容器的核心功能:依赖注入在基本的IoC容器接口BeanFactory中,有一个getBean的接口方法的定义,这个接口的实现就是触发依赖注入发生的地方。我们从DefaultListableBeanFactory的基类AbstractBeanFactory入手了解getBean()的实现: Java代码转载 2015-07-14 11:41:05 · 806 阅读 · 0 评论 -
Spring @Transactional (一)
Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked转载 2015-07-13 16:57:19 · 312 阅读 · 0 评论 -
《Spring技术内幕》学习笔记5——IoC容器的依赖注入
1.当Spring IoC容器完成了Bean定义资源的定位、载入和解析注册以后,IoC容器中已经管理类Bean定义的相关数据,但是此时IoC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况发生:(1).用户第一次通过getBean方法向IoC容索要Bean时,IoC容器触发依赖注入。(2).当用户在Bean定义资源中为元素配置了lazy-init属性,即让容器在解析注册Be转载 2015-07-14 11:40:19 · 403 阅读 · 0 评论 -
Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for pr
在springmvc中如果表单属性的类型是日期型时,从页面绑定字符串数据会出错 Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for property 'expert.birthdate'; nested exception is java.lang.I转载 2015-07-03 15:52:14 · 2138 阅读 · 0 评论