
spring探索
文章平均质量分 91
探索和学习spring核心机制, 一起学习交流
zdp072
Jim的IT专栏
展开
-
Java事务(八) - 分布式事务 - spring + JTA + atomikos
一. 前言:上一篇博客中,我们使用jotm实现了分布式事务, 本篇将使用atomikos实现。基本的代码都是一样的,就是配置略有不同。原创 2014-09-21 00:43:17 · 2624 阅读 · 2 评论 -
Java事务(七) - 分布式事务 - spring + JTA + jotm
一. 前言:在写这篇博客之前,我们需要弄清楚两个概念:本地事务和分布式事务。本地事务:只处理单一数据源,比如单个数据库。分布式事务:处理多种异构的数据源, 比如某个业务操作中同时包含JDBC和JMS或者某个操作需要访问多个不同的数据库。原创 2014-09-21 00:34:56 · 2306 阅读 · 1 评论 -
spring与mybatis整合及事务控制
一. 简介本文将会使用spring整合mybatis, 并添加事务管理, 以此为记, 方便以后查阅。原创 2014-09-01 09:43:49 · 7957 阅读 · 0 评论 -
springbatch操作DB
一、需求分析使用Spring Batch对DB进行读写操作: 从一个表中读取数据, 然后批量的插入另外一张表中.二、代码实现1. 代码结构图:2. applicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns原创 2014-08-15 00:13:35 · 5343 阅读 · 1 评论 -
springbatch操作XML文件
一、需求分析使用Spring Batch对XML文件进行读写操作: 从一个xml文件中读取商品信息, 经过简单的处理, 写入另外一个xml文件中.二、代码实现1. 代码结构图:2. applicationContext.xml<beans xmlns="http://www.springframework.org原创 2014-08-12 22:42:51 · 3298 阅读 · 2 评论 -
springbatch操作CSV文件
一、需求分析使用Spring Batch对CSV文件进行读写操作: 读取一个含有四个字段的CSV文件(id, name, age, score), 对文件做简单的处理, 然后输出到另一个csv文件中.二、代码实现1. 代码结构图:JobLaunch: 启动JobCsvItemProcessor: 对Reader数据进行原创 2014-08-10 23:34:07 · 3456 阅读 · 0 评论 -
springbatch简介与helloworld
一、SpringBatch简介Spring Batch是一个轻量级的批处理框架, 可以用于企业级海量数据处理, 它提供以下技术解决方案:1. 定时批处理2. 大规模并行处理3. 企业消息驱动处理二、SpringBatch结构Spring Batch由应用层、核心层、基础架构层等组成:1. 应用层: 包含所有的批处理作业,原创 2014-08-06 21:39:35 · 2199 阅读 · 0 评论 -
springMVC之json
1. 引入Jar包:jackson-all-1.9.4.jar2. 配置注解支持3. 使用@ResponseBody注解// 查看用户信息: 返回json格式数据 // 访问方法: http://localhost/springmvc_user/user/zhangsan?json @RequestMapping(valu原创 2014-08-24 18:39:26 · 1453 阅读 · 1 评论 -
springMVC之拦截器
有两种方法配置spring的拦截器1. 实现接口: HandleInterceptor原创 2014-08-20 00:57:02 · 1519 阅读 · 0 评论 -
springMVC之异常处理
1. 自定义一个异常类: UserException.javapublic class UserException extends RuntimeException { private static final long serialVersionUID = 1L; public UserException() { super(); } public UserExcept原创 2014-08-20 00:22:53 · 1376 阅读 · 0 评论 -
springMVC之文件上传
1. 引入Jar包commons-fileupload-1.2.2.jarcommons-io-2.1.jar2.user-servlet.xml中配置文件上传 3. UserController.java@Controller@RequestMapping("/user")public class UserContr原创 2014-08-20 00:10:50 · 1573 阅读 · 0 评论 -
springMVC之增删改查
一、核心原理1. 用于发送请求给服务器: /home.htm2. 请求被DispatchServlet拦截到3. DispatchServlet通过HandleMapping检查url有没有对应的Controller, 如果有则调用Controller4. Controller开始执行业务逻辑5. Controller执行完毕后, 如果返回字符串, 则Vie原创 2014-08-19 23:43:10 · 21363 阅读 · 4 评论 -
springMVC+ajax返回JSON串
一、引言本文使用springMVC和ajax做的一个小小的demo,实现将JSON对象返回到页面,没有什么技术含量,纯粹是因为最近项目中引入了springMVC框架,作为学习之用,不喜勿喷,欢迎拍砖。二、入门例子①. 建立工程,并导入相应spring jar包和解析json的包fastjson。②. 在web.xml文件中配置Spring的核原创 2014-01-12 18:35:54 · 4962 阅读 · 1 评论 -
Spring整合Quartz实现定时任务调度
一. 核心类1. Job: 表示一个工作, 具体的业务处理都在这里.2. JobDetail: 表示一个具体的可执行的调度程序.3. Trigger: 用于调度参数的配置(什么时候去调用Job).4. Scheduler: 表示一个调度容器, 容器中有一个线程池, 用来并行调度执行每个作业, 一个调度容器中可以注册多个JobDetail和Trigger.原创 2014-08-16 23:43:28 · 2290 阅读 · 0 评论 -
Spring整合TimerTask实现定时任务调度
一. 前言最近在公司的项目中用到了定时任务, 本篇博文将会对TimerTask定时任务进行总结, 其实TimerTask在实际项目中用的不多, 因为它不能再指定时间运行, 只能让程序按照某一个频度运行.二. TimerTaskJDK中Timer是一个定时器类, 它可以为指定的定时任务进行配置.JDK中TimerTask是一个定时任务类, 该类实现了Run原创 2014-06-21 23:04:08 · 6488 阅读 · 1 评论 -
Spring整合freemarker发送邮件
一. 背景知识在上一篇博文: 使用JavaMail发送邮件和接受邮件, 我们学习了原生的JavaApi发送邮件, 我们会发现代码比较多, 特别是当邮件内容很丰富的时候, 我们需要在Java中拼装Html, 是不是觉得非常麻烦. 下面我们使用一种比较简单的方法: spring + javaMail + freemarker, 使用freemarker模板引擎后, 我们就不用再在Jav原创 2014-06-20 23:39:13 · 7315 阅读 · 0 评论 -
spring整合web service - 基于apache CXF实现
一. 概述可以在传统的Java EE应用的基础上添加一层Web Service层, 我们的Java EE应用就可以对外暴漏Web Service, 这样就允许任何平台、任何语言编写的程序来调用这个Java EE应用原创 2014-06-08 23:12:25 · 1980 阅读 · 0 评论 -
spring整合RMI - Java远程方法调用
一. 开篇语上一篇RMI - Java远程方法调用, 它使用的是JDK原生类进行操作, 本篇文章使用spring提供的API进行整合, 希望能给您带来帮助.二. 核心API1. 客户端: 客户端的核心是RmiProxyFactoryBean, 它包含两个属性serviceUrl(远程调用地址), serviceInterface(远程调用接口)原创 2014-05-29 22:46:18 · 2163 阅读 · 0 评论 -
spring整合JMS - 基于ActiveMQ实现
一. 开篇语继上一篇apache ActiveMQ之初体验后, 因为最近一直在复习spring的东西, 所以本文就使用spring整合下JMS.二. 环境准备1. ActiveMQ5.2.0 (activemq-all-5.2.0.jar)2. spring2.5 (spring.jar)3. JavaEE54. JDK1.6原创 2014-05-28 00:00:09 · 2040 阅读 · 0 评论 -
深入探索spring技术内幕(八): Spring +JDBC组合开发和事务控制
三. 事务传播属性REQUIRED:业务方法需要在一个事务中运行。如果方法运行时,已经处在一个事务中,那么加入到该事务,否则为自己创建一个新的事务。NOT_SUPPORTED:声明方法不需要事务。如果方法没有关联到一个事务,容器不会为它开启事务。如果方法在一个事务中被调用,该事务会被挂起,在方法调用结束后,原先的事务便会恢复执行。原创 2014-05-18 22:39:49 · 1688 阅读 · 0 评论 -
深入探索spring技术内幕(七): 配置Spring AOP面向切面编程
[ AOP一些概念 ]Aspect( 切面 ): 指横切性关注点的抽象即为切面, 它与类相似, 只是两者的关注点不一样, 类是对物体特征的抽象, 而切面横切性关注点的抽象.joinpoint( 连接点 ): 指那些被拦截到的点. 在spring中, 这些点指的是方法, 因为spring只支持方法类型的连接点, 实际上joinpoint还可以是field或类构造器)Pointcut(原创 2014-05-18 20:30:27 · 1412 阅读 · 0 评论 -
深入探索spring技术内幕(六): JDK动态代理和cglib生成代理
[ JDK生成代理 ]JDK中给我们提供了一个Proxy类可以动态的给我们生成代理.假定我们要做一个权限管理系统, 需要控制用户对某一个方法的访问. 如果user为null, 那么不让用户访问save方法.① 接口类: PersonServicepublic interface PersonService { public void save();}原创 2014-05-12 23:46:59 · 1827 阅读 · 0 评论 -
深入探索spring技术内幕(五): 剖析spring AOP工作原理
一、前言AOP (Aspect Oriented Programing) - 面向切面编程,它主要用于日志记录、性能分析、安全控制、事务处理、异常处理等方面。二、实现细节下面这个例子利用AOP来实现日志记录:附上一张类的结构图,该例子需要导入dom4j.jar① 业务逻辑接口/** * 业务逻辑类接口 * @a原创 2014-05-02 22:52:38 · 1455 阅读 · 0 评论 -
深入探索spring技术内幕(四): 剖析@Resource注解实现原理与注解注入
一、@Resource注解原理@Resource可以标注在字段或属性的setter方法上1. 如果指定了name属性, 那么就按name属性的名称装配; 2. 如果没有指定name属性, 那就按照默认的名称查找依赖对象;3. 如果按默认名称查找不到依赖对象, 那么@Resource注解就会回退到按类型装配;原创 2014-05-11 23:34:59 · 11139 阅读 · 0 评论 -
深入探索spring技术内幕(三): 剖析spring IoC工作原理和配置依赖注入
一、前言IOC (Inverse of control) - 控制反转,spring的IOC实现原理为利用Java的反射机制并充当工厂的角色完成对象的装配和注入。 二、实现细节附上一张类的结构图,该例子需要导入jdom.jar和junit.jar① 用户Beanpackage com.zdp.model;// 用户类public cla原创 2014-04-26 22:49:51 · 1713 阅读 · 0 评论 -
深入探索spring技术内幕(二): 剖析spring管理Bean的原理与配置
一、模拟Spring管理Beanspring是如何管理Bean的? 想必这是每一个初学spring的同学想弄清楚的问题, 好吧, 网上百度一下你会得到这样的答案:服务启动时, 容器会解析配置文件, 并且会通过反射机制实例化配置中所有的类, 然后我们可以通过下面的方法获取Bean:ApplicationContext ctx = new ClassPathXmlApplica原创 2014-05-11 13:30:58 · 2059 阅读 · 1 评论 -
深入探索spring技术内幕(一): spring概述
一、Spring是什么?Spring是一个开源的控制反转 ( IoC ) 和面向切面 ( AOP ) 的容器框架, 它的主要目的是简化企业开发.二、控制反转(IoC)控制反转: 应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器负责的. 这样控制权就由应用转移到了外部容器, 控制权的转移就是所谓的反转. public clas原创 2014-05-10 22:32:51 · 1951 阅读 · 2 评论