![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
LiTianao88
Hello Java!
展开
-
Spring框架下类的初始化顺序
序言 之前的已经分析过在不使用框架的情况下,类中各个部分的初始化或执行顺序,后来我在开发中使用了spring,发现初始化顺序与之前的稍有不同,特别是其初始化以xml配置文档作为驱动,xml中先定义生么类就试图优先实例化这个类,搞得我有点纠结。现在来细细测试研究一下。 这次采用的测试代码与之前的类似:有三个主线类B、C和D,其中D继承C,C继承B,这三个类中均包含static块、转载 2016-12-15 16:45:49 · 327 阅读 · 0 评论 -
怎么在spring官网上下载spring的jar包, 源代码和文档?
现在 http://repo.spring.io/release/org/springframework/spring/第一种,简单粗暴直接1http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEASE/spring-framework转载 2016-12-15 17:03:52 · 250 阅读 · 0 评论 -
使用Quartz2.1.6+Spring3.0实现任务调度简单示例
根据各位网友的指导,特别是 lk_well 朋友的分析:从Spring3.2.4才开始支持quart-2.xspring3.0还不支持quartz2.x.楼主的例子中引用了myeclispe自带的Spring 3.0 Misc Libray,这个library中包含com.springsource.org.quartz-1.6.x.jar其实楼主的例子还是用的quartz1.x转载 2016-12-15 17:04:59 · 243 阅读 · 0 评论 -
Spring-3.2.4 + Quartz-2.2.0集成实例
Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError错误:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.转载 2016-12-15 17:06:12 · 223 阅读 · 0 评论 -
Spring配置Quartz例子
1.引入除spring.jar外的Quartz的jar包quartz-all-1.8.6.jar2.任务类 QuartzJob01public class QuartzJob {02 03 public void work1()转载 2016-12-15 17:07:46 · 209 阅读 · 0 评论 -
Spring集成Quartz定时任务框架介绍和Cron表达式详解
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。我们可以使用Java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。使用Quartz框架无疑是非常好的选择,并且与spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。一、增加所依赖的转载 2016-12-15 17:08:44 · 165 阅读 · 0 评论 -
Spring中Quartz的配置
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:参考文章【http://www.cnblogs.com/kay/archive/2007/11/02/947372.html】 【http://www.diybl.com/course/3_program/java/javajs/转载 2016-12-15 17:10:41 · 196 阅读 · 0 评论 -
Spring配置事务中的 transactionAttributes 各属性含义
transactionAttributes 属性:PROPAGATION事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。PROPAGATION_SUPPORTS转载 2016-12-15 17:11:19 · 2662 阅读 · 0 评论 -
proxy-target-class="true" 与proxy-target-class="false"的区别
proxy-target-class="true"/> 注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-target-class属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。转载 2016-12-15 17:14:49 · 349 阅读 · 0 评论 -
Spring 声明事务中transactionAttributes属性 + - Exception 实现逻辑
下面是一段典型的spring 声明事务的配置:查看文本打印?bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> property name="transactionManager">转载 2016-12-15 17:15:48 · 2120 阅读 · 0 评论 -
Spring的事务 之 9.4 声明式事务 ——跟我学spring3
9.4 声明式事务9.4.1 声明式事务概述 从上节编程式实现事务管理可以深刻体会到编程式事务的痛苦,即使通过代理配置方式也是不小的工作量。 本节将介绍声明式事务支持,使用该方式后最大的获益是简单,事务管理不再是令人痛苦的,而且此方式属于无侵入式,对业务逻辑实现无影响。 接下来先来看看声明式事务如何实现吧。9.4.2转载 2016-12-15 17:17:00 · 272 阅读 · 0 评论 -
JTA之spring 整理
JTA -Java Transaction APIJTA Transaction是指由J2EE Transaction manager去管理的事务。其最大的特点是调用UserTransaction接口的begin,commit和rollback方法来完成事务范围的界定,事务的提交和回滚。通常说到事务就离不开事务几个特性:原子性:事务的必需提交或者回滚其中的一项操作失败都会引起事务的回滚.一致性转载 2016-12-15 17:02:43 · 243 阅读 · 0 评论 -
在Spring中使用JTA事务管理
spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻。但是很大部分人都还认为脱离JavaEE应用服务器就无法使用JTA事务,这是一个误解。其实,通过配合使用ObjectWeb的JOTM开源项目,不需要Java EE应用服务器,Spring也可以提供JTA事务。 正因为AOP让Spring拥有转载 2016-12-15 17:01:58 · 239 阅读 · 0 评论 -
spring annotation 注入static 属性
第一种方法: @Componentpublic class UserUtils{ private static UserAccessor userAccessor; /** * Sets the user DAO. This method should never be called except by spring * @param转载 2016-12-15 16:46:45 · 160 阅读 · 0 评论 -
Hibernate 参数设置一览表
实现包含了hibernate与数据库的基本连接信息的配置方式有两种方式:第一种是使用hibernate.properties文件作为配置文件。第二种是使用hibernate.cfg.xml文件作为配置文件。hibernate.cfg.xml 例子[html] view plain copyprint?span style=转载 2016-12-15 16:47:30 · 319 阅读 · 0 评论 -
Spring Java 发送各种邮件
Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc, subject,text。 包里还包含一棵以MailException为根的checked Exception继承树,它们提供了对底层邮件系统异常的高级别抽象。 要获得转载 2016-12-15 16:53:14 · 566 阅读 · 0 评论 -
org.aspectj.lang.JoinPoint-中文简要API
AspectJ使用org.aspectj.lang.JoinPoint接口表示目标类连接点对象,如果是环绕增强时,使用org.aspectj.lang.ProceedingJoinPoint表示连接点对象,该类是JoinPoint的子接口。任何一个增强方法都可以通过将第一个入参声明为JoinPoint访问到连接点上下文的信息。我们先来了解一下这两个接口的主要方法: 1)JoinPoint转载 2016-12-15 16:54:50 · 1214 阅读 · 0 评论 -
spring工具类AntPathMatcher
[java] view plain copyprint?package cn.bidlink.wsmp.commons.security; import junit.framework.TestCase; import org.springframework.util.AntPathMatcher; import org.springframework.转载 2016-12-15 16:55:34 · 727 阅读 · 0 评论 -
spring DelegatingFilterProxy 过滤器 的原理及运用
DelegatingFilterProxy的原理及使用DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过spring容器来管理servlet filter的生命周期,还有就是如果filter中需要一些Spring容器的实例,可以通过spring直接注入,另外读取一些配置文件这些便利的操作都可以通过Spring来配置实现转载 2016-12-15 16:56:49 · 350 阅读 · 0 评论 -
spring 中 applicationEvent的使用
spring的ApplicationEvent的使用 Spring 3.0中提供了很多类似*Aware的类,其中ApplicationContextAware接口可以实现我们在初始化bean的时候给bean注入ApplicationConxt(Spring上下文对象)对象。ApplicationContextAware接口提供了publishEvent方法,实现了Observe(观察转载 2016-12-15 16:57:41 · 276 阅读 · 0 评论 -
Spring JMS 整合Tomcat和ActiveMQ
1.Active MQ安装配置 1.1.下载并解压Active MQ 1.2.双击bin/activemq.bat启动Active MQ 1.3.浏览器输入http://localhost:8161/admin/ ,可以图形化界面管理activemq 1.4.点击Queue,新建一个队列名字叫TestQueue1 2.在Eclipse里面配置Tomcat的co转载 2016-12-15 16:58:46 · 315 阅读 · 0 评论 -
Spring事务属性详解
spring,是一个Java开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用转载 2016-12-15 16:59:41 · 181 阅读 · 0 评论 -
Spring分布式事务实现
分布式事务是指操作多个数据库之间的事务,spring的org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。 在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java转载 2016-12-15 17:01:01 · 257 阅读 · 0 评论 -
Spring的事务 之 9.3 编程式事务 ——跟我学spring3
9.3 编程式事务9.3.1 编程式事务概述 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。 spring框架提供一致的事务抽象,因此对于JDBC还是JTA事务都是采用相同的API进行编程。 java代码:查看复制到剪贴板打印Connection conn = nu转载 2016-12-15 17:17:56 · 238 阅读 · 0 评论 -
对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3
8.3 集成iBATIS iBATIS是一个半自动化的ORM框架,需要通过配置方式指定映射SQL语句,而不是由框架本身生成(如hibernate自动生成对应SQL来持久化对象),即Hibernate属于全自动ORM框架。spring提供对iBATIS 2.X的集成,提供一致的异常体系、一致的DAO访问支持、Spring管理事务支持。 Spring转载 2016-12-15 17:18:52 · 304 阅读 · 0 评论 -
JdbcTemplate数据批量删除
由于数据的批量处理(比如往RDBMS插入几万条数据)非常耗资源,因此建议在所有场合能够借助于JDBC完成,而不要去采用hibernate API。本文主要围绕spring内置的各类JDBC API抽象支持展开的。1.1. JdbcTemplate内置的batchUpdate(final String[] sql)这一方法适合于小批量数据的CUD(增、更新、删除)操作,而且SQ转载 2016-12-15 17:34:03 · 695 阅读 · 0 评论 -
spring批量更新数据 ---- BatchPreparedStatementSetter
spring给我们提供了jdbc的统一封装,和其它的orm不同,它是对jdbc api的封装,相当于我们自己写的java bean,而没有对对象模型进行封装(比如将po封装为pojo)。它保持了jdbc数据对象的原始性,具有极大程度的灵活性,其性能也极高。 我们知道在进行增量操作的时候最好是使用PreparedStatement,这样会节省数据库服务器编译sql语句的成本。而S转载 2016-12-15 17:34:37 · 526 阅读 · 0 评论 -
JdbcTemplate 批量处理数据
核心方法:batchUpdate(String sql,BatchPreparedStatementSetter pss) spring JdbcTemplate 批量插入或更新操作用 JdbcTemplate 进行批量插入或更新操作方法一:代码只是测试用的一个小例子。public int insertContractAch(List lis转载 2016-12-15 17:35:25 · 1814 阅读 · 0 评论 -
Spring 3 AOP总结 (包含注解式AOP定义, poincut及advice的一些定义方式)
概念AOP(Aspect Oriented Programming),即面向切面编程(也叫面向方面编程,面向方法编程)。其主要作用是,在不修改源代码的情况下给某个或者一组操作添加额外的功能。像日志记录,事务处理,权限控制等功能,都可以用AOP来“优雅”地实现,使这些额外功能和真正的业务逻辑分离开来,软件的结构将更加清晰。AOP是OOP的一个强有力的补充。术语AOP的术语不太转载 2016-12-22 17:16:57 · 2208 阅读 · 0 评论 -
Spring3核心技术之AOP配置
在Spring配置文件中,所有AOP相关定义必须放在标签下,该标签下可以有、、标签,配置顺序不可变。 ● :用来定义切入点,该切入点可以重用; ● :用来定义只有一个通知和一个切入点的切面; ● :用来定义切面,该切面可以包含多个切入点和通知,而且标签内部的通知和切入点定义是无序的;和advisor的区别就在此,advisor只包含一个通知和一个切入点。 Ja转载 2016-12-22 17:19:41 · 266 阅读 · 0 评论 -
Spring AOP + AspectJ framework
转载出处:http://www.blogjava.net/fancydeepin ] AOP(Aspect Orient Programming),也就是常说的面向方面编程,它是作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在 Java EE 应用中,常常通过 AOP 来处理一些具有横切性质的系统级服务,如事务管理、安全检查、转载 2016-12-22 17:20:47 · 254 阅读 · 0 评论 -
Spring AOP 之 HelloWorld(简单例子)
java代码Java代码 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.springframework.context.ApplicationContext; import org.springframewo转载 2016-12-22 17:22:01 · 1174 阅读 · 0 评论 -
Spring中AOP的实现 (二)
在Spring 2.0中,除了传统的通过实现AOP AIP的方式来实现Advice之外,还提供了两种更加简便的方式来实现Advice:1)基于XML Schema的设置;2)基于Annotation的支持,采用这两种方式,Advice将不用实现特定的接口。现在让我们来看看如何使用这两种方式来分别实现Before Advice、After Advice、Around Advice、T转载 2016-12-22 17:25:59 · 268 阅读 · 0 评论 -
Spring中AOP的实现 (一)
在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、Around Advice、Throw Advice。1、Before Advice顾名思义,Before Advi转载 2016-12-22 17:26:44 · 285 阅读 · 0 评论 -
Spring中AOP的实现 (三)
在Spring 2.0中,Pointcut的定义包括两个部分:Pointcut表示式(expression)和Pointcut签名(signature)。让我们先看看execution表示式的格式:java 代码execution(modifier-pattern? ret-type-pattern declaring-typ转载 2016-12-22 17:23:08 · 262 阅读 · 0 评论 -
Spring3核心技术之JdbcTemplate
Spring对JDBC的支持 Spring通过抽象JDBC访问并提供一致的API来简化JDBC编程的工作量。我们只需要声明SQL、调用合适的Spring JDBC框架API、处理结果集即可。事务由Spring管理,并将JDBC受查异常转换为Spring一致的非受查异常,从而简化开发。 Java代码 .... Connection con转载 2016-12-15 17:33:15 · 422 阅读 · 0 评论 -
Jax-ws 开发webService ,并使用spring注入service类中遇到 空指针
一般情况下,使用eclipse自带的 jax-ws 生成webservice 会自动生成2个类:ContractConnector.Java[java] view plain copyprint?package com.wonders.webservice.contract; import java.text.DecimalFormat转载 2016-12-15 17:32:02 · 565 阅读 · 0 评论 -
HibernateTemplate 自动事务
使用HibernateTemplate时,不显示的声明事务管理,照样能对数据库做CURD。 这是因为在没有声明事务时,HibernateTemplate是默认自动提交事务的。 因此如果在业务代码中,只涉及到一次数据库操作时默认自动事务提交已经足够,如果多次数据库操作则需要做事务声明。hibernateTemplate有点类似事务中的p转载 2016-12-15 17:19:48 · 910 阅读 · 0 评论 -
零配置 之 12.3 注解实现Bean定义 ——跟我学spring3
12.3 注解实现Bean定义12.3.1 概述前边介绍的Bean定义全是基于XML方式定义配置元数据,且在【12.2注解实现Bean依赖注入】一节中介绍了通过注解来减少配置数量,但并没有完全消除在XML配置文件中的Bean定义,因此有没有方式完全消除XML配置Bean定义呢? spring提供通过扫描类路径中的特殊注解类来自动注册Bean定义。同注解驱动事务一转载 2016-12-15 17:20:48 · 322 阅读 · 0 评论 -
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
下载地址一 开发环境1、动态web工程2、部分依赖 java代码:查看复制到剪贴板打印hibernate-release-4.1.0.Final.zip hibernate-validator-4.2.0.Final.jar spring-framework-3.1.1.RELEASE-with-docs.zip转载 2016-12-15 17:22:06 · 269 阅读 · 0 评论