随笔分类 -  Java

摘要:前面讲解了基于JDBC驱动的Spring的持久化管理,本篇开始则着重介绍下与事务相关的操作。 通过本文你可以了解到: 1 Spring 事务管理的机制 2 基于JDBC持久化的事务管理 Spring的事务管理的机制 Spring本身并不提供事务管理,它只是把事务管理提交给事务管理器,而事务管理器则有 阅读全文
posted @ 2015-02-04 15:11 xingoo 阅读(2158) 评论(4) 推荐(0) 编辑
摘要:前一篇通过对传统的JDBC的使用操作,可以体会到使用的繁琐与复杂,套句话说,是用了20%作了真正的工作,80%作了重复的工作。那么通过本篇,可以了解如下的内容:1 如何配置数据源2 如何在spring中使用模板3 如何建立数据源的统一的基类 首先看一下如何配置数据源 我们可以使用3种方式配置... 阅读全文
posted @ 2015-02-03 14:00 xingoo 阅读(3684) 评论(1) 推荐(1) 编辑
摘要:从这篇开始学习Spring的JDBC,为了了解Spring对于JDBC的作用,先通过JDBC传统的流程,实现一个数据库的插入和读取。 从这篇你可以了解到: 1 传统的JDBC插入和读取的过程。 2 如何通过JDBC连接Mysql 如何通过JDBC连接mysql 首先看一下下面这张图: 应... 阅读全文
posted @ 2015-02-03 12:26 xingoo 阅读(3113) 评论(0) 推荐(0) 编辑
摘要:前面了解了典型的AOP基于配置的使用方法,下面介绍下如何依赖于注解来实现AOP。基于注解降低了配置文件的复杂程度,但是引入了程序间的耦合,其中的优劣待用户自己判断了。需要注意的是,确定AspectJ与JDK之间的版本,否则会报错,详情请见。 首先看一下基于注解的切面类,这时的切面不仅仅是一个POJ... 阅读全文
posted @ 2015-02-02 13:46 xingoo 阅读(5859) 评论(1) 推荐(4) 编辑
摘要:今天在使用AspectJ进行注解切面时,遇到了一个错误。切点表达式就是无法识别——详细报错信息如下:Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating b... 阅读全文
posted @ 2015-02-02 13:30 xingoo 阅读(19158) 评论(6) 推荐(3) 编辑
摘要:如果有这样一个需求,为一个已知的API添加一个新的功能。由于是已知的API,我们不能修改其类,只能通过外部包装。但是如果通过之前的AOP前置或后置通知,又不太合理,最简单的办法就是实现某个我们自定义的接口,这个接口包含了想要添加的方法。但是JAVA不是一门动态的语言,无法再编译后动态添加新的功能,这... 阅读全文
posted @ 2015-02-01 16:55 xingoo 阅读(3698) 评论(0) 推荐(1) 编辑
摘要:通过前面的学习,可以了解到 Spring的AOP可以很方便的监控到方法级别的执行 ,针对于某个方法实现通知响应。 那么对于方法的参数如何呢? 比如我们有一个方法,每次传入了一个字符串,我想要知道每次传入的这个字符串是神马?这又如何办到呢! 举个Action上面的例子,一个思考者(thinker),每 阅读全文
posted @ 2015-02-01 15:52 xingoo 阅读(5031) 评论(1) 推荐(0) 编辑
摘要:假如有这么一个场景,需要统计某个方法执行的时间,如何做呢? 典型的会想到在方法执行前记录时间,方法执行后再次记录,得出运行的时间。如果采用Spring的AOP,仅仅使用前置和后置方法是无法做到的,因为他们无法共享变量。这样通过环绕通知,就可以快捷的实现。 首先在切面通知类中声明环绕通知类: ... 阅读全文
posted @ 2015-02-01 14:49 xingoo 阅读(8048) 评论(5) 推荐(0) 编辑
摘要:前面几篇学习了Spring的依赖注入,这篇开始学习另一个核心功能——面向切面编程AOP。 通过本文,你可以了解到: 1 Spring xml规范 2 通过配置文件实现面向切面编程 3 对比与传统AOP编程 Spring的xml文件 Spring的xml一般起名叫做bean.xml或者xxxappli 阅读全文
posted @ 2015-01-31 17:03 xingoo 阅读(33006) 评论(2) 推荐(6) 编辑
摘要:在使用Spring AOP时,遇到如下的错误:Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.spring.test.setter.Instrum... 阅读全文
posted @ 2015-01-31 15:23 xingoo 阅读(31188) 评论(4) 推荐(4) 编辑
摘要:今天在使用动态代理时,遇到了如下问题,报错java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice 下面是完整的报错信息:一月 31, 2015 2:08:18 下午 org.springframework.context.support... 阅读全文
posted @ 2015-01-31 14:27 xingoo 阅读(19554) 评论(1) 推荐(0) 编辑
摘要:本篇介绍一下自动装配的知识,Spring为了简化配置文件的编写。采用自动装配方式,自动的装载需要的bean。 自动装配有以下几种方式: 1 byName 通过id的名字与属性的名字进行判断,要保证Bean实例中属性名字与该装配的id名字相同。 2 byType 通过类型确定装配的bean,但是... 阅读全文
posted @ 2015-01-26 15:42 xingoo 阅读(2069) 评论(1) 推荐(1) 编辑
摘要:之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List、Set、Map等。 对于程序员来说,掌握多种语言是基本的技能。 我们这里做了一个小例子,程序员们是一个Bean实例,而掌握的编程语言则是放入一个集合类型中进行注入。 简单的来说: List... 阅读全文
posted @ 2015-01-25 21:50 xingoo 阅读(4607) 评论(1) 推荐(0) 编辑
摘要:本篇文章讲解了Spring的通过内部Bean设置Bean的属性。 类似内部类,内部Bean与普通的Bean关联不同的是: 1 普通的Bean,在其他的Bean实例引用时,都引用同一个实例。 2 内部Bean,每次引用时都是新创建的实例。 鉴于上述的场景,内部Bean是一个很常用的编程模式。 ... 阅读全文
posted @ 2015-01-25 19:15 xingoo 阅读(2303) 评论(0) 推荐(1) 编辑
摘要:本篇主要讲解了Spring的最常用的功能——依赖注入。注入的方式,是使用Getter Setter注入,平时大多的编程也都是使用这种方法。 举个简单的例子,还是表演者。 表演者有自己的属性,年龄或者表演的歌曲等等。还需要一些复杂的属性,比如乐器,每一种乐器会发出不同的声音。 下面看一下表演者P... 阅读全文
posted @ 2015-01-25 16:42 xingoo 阅读(4752) 评论(6) 推荐(2) 编辑
摘要:本篇文章主要介绍了在spring中通过配置init-method和destroy-method方法来实现Bean的初始化和销毁时附加的操作。在java中,我们并不需要去管理内存或者变量,而在C或C++中,可以通过new和delete等方式来创建和删除变量或者对象。在Spring中,如果想要对一个be... 阅读全文
posted @ 2015-01-25 13:35 xingoo 阅读(19231) 评论(4) 推荐(2) 编辑
摘要:如果有这样的需求: 1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离。 2 实现单例的bean 以上的情况,都可以通过工厂方法factory-method来创建bean。 这样再加载bean.xml时,不会直接实例化bean,而是当调用factory- 阅读全文
posted @ 2015-01-24 19:09 xingoo 阅读(7828) 评论(3) 推荐(1) 编辑
摘要:本文讲解了构造注入以及spring的基本使用方式,通过一个杂技演员的例子,讲述了依赖注入属性或者对象的使用方法。 如果想要使用spring来实现依赖注入,需要几个重要的步骤: 1 定义主要的类和需要分离的属性。这里主要的类,是指程序的主要对象,在例子中是Juggler杂技员。而想要分离构造的属性,是 阅读全文
posted @ 2015-01-24 16:46 xingoo 阅读(4732) 评论(8) 推荐(7) 编辑
摘要:这个系列是学习spring实战的总结,一方面总结书中所写的精髓,另一方面总结一下自己的感想。 基础部分讲解了spring最为熟知的几个功能:依赖注入/控制反转 和 面向切面编程。 这两个就不再多说了,功能比较简单,也没有制作样例,后面再深入操作下。 Spring使用POJO类编写程序,... 阅读全文
posted @ 2015-01-23 12:49 xingoo 阅读(6181) 评论(1) 推荐(2) 编辑
摘要:以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自己测试验证了一下。虽然网上说法很多,但是关于NoClassDefFoundError并没有给出一个样例,所以一直无法理解,索性自己验证了一下,收获还不少。 ClassNotFoundException ClassNotFoundE... 阅读全文
posted @ 2014-12-25 20:27 xingoo 阅读(168241) 评论(7) 推荐(6) 编辑