Spring实战教程
文章平均质量分 92
记录学习Spring的点点滴滴。。。
在云端123
这个作者很懒,什么都没留下…
展开
-
Spring实战教程 | 第十三篇:Spring高级功能
1、Spring AwareSpring Aware目的是为了让Bean获得Spring容器的服务,因为ApplicationContext接口集成了MessageSOurce接口、ApplicationEventPublisher接口和ResourceLoader接口,所以Bean继承ApplicationContextAware就可以获得spring容器的所有服务 AwareSe...原创 2017-07-23 14:27:56 · 2744 阅读 · 0 评论 -
Spring实战教程 | 第十二篇:用Spring AOP实现异常处理和记录程序执行时间
这个实例用于一个系统的所以方法执行过程中出现异常时,把异常信息都记录下来,还有记录每个方法的执行时间,这两个业务逻辑首先使用SpringAOP的自动代理功能,然后一个用Java的动态代理,一个用CGLIB代理用Spring AOP的自动代理实现(1)定义负责异常处理的Advice为ExceptionHandler.java ,负责当程序执行过程中出现异常,把异常信息记录下来pu...原创 2017-02-05 15:19:00 · 3885 阅读 · 0 评论 -
Spring实战教程 | 第十一篇:SrpringAOP之Spring中的自动代理
自动代理的好处:自动检查IoC容器的目标对象,并对这些目标对象产生代理对象,也就是我们不用为每个Action建立相应的代理bean 下面的例子是所有类都以do开头的方法,在被调用时,都要进行日志的输出 实现思路: ① 在接口TimeBookInterface中添加方法doAuditing()和doCheck(),实现类TimeBook实现该接口 ② 使用Before、After通知 ...原创 2017-02-05 11:18:12 · 783 阅读 · 0 评论 -
Spring实战教程 | 第九篇:SpringAOP之入门
AOP的3个关键概念切入点(Pointcut)在介绍Pointcut之前先介绍Join Point(连接点)的概念。Join Point指程序运行中的某个阶段点,比如一个方法调用,异常抛出等。Pointcut就是Join Point的集合,它是程序中需要注入Advice的位置的集合,指明Advice在什么样的条件下才能被触发。 Pointcut.java源码 接口ClassFi...原创 2017-02-03 09:12:02 · 1500 阅读 · 0 评论 -
@Autowired与@Resource的区别
@Autowired与@Resource的区别@Autowired:默认按类型装配(这个注解是属于spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值, 可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:@Autowired() @Qualifier(原创 2017-02-23 16:34:12 · 885 阅读 · 0 评论 -
Spring实战教程 | 第八篇:Spring缓存---创建第一个缓存应用程序
介绍缓存是一种存储机制,它将数据保存在某个地方,并以一种更快的方式为日后的请求提供服务,在应用程序中使用缓存机制,可以避免方法的多次执行,可以根据所提供的输入值对方法的结果数据进行缓存 通过使用AOP原则,对方法进行编织,如果已经为提供的参数执行过,那么不必执行实际方法就可以返回被缓存的结果,所以需要为应用程序的所有类生成代理类,并使用缓存注解对类的方法进行标记创建第一个缓存应用程序...原创 2017-02-15 18:52:40 · 760 阅读 · 0 评论 -
Spring的声明式事务处理
Spring的事务处理需要借助AOP的实现,所以需要apalliance.jar和cglib.jar,实现声明式事务处理,需要PlatformTransactionManager的实现类,因为使用的是JDBC,所以实现类是DataSourceTransactionManager类,并且使用Spring提供的TransactionProxyFactoryBean类实现事务代理。 代码示例 (1)创原创 2017-02-06 21:50:09 · 865 阅读 · 0 评论 -
Spring 中的TransactionTemplate
Spring提供的TransactionTemplate 能够以编程的方式实现事务控制,是无状态而且线程安全的public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean { protected fi原创 2017-02-05 23:43:28 · 6064 阅读 · 0 评论 -
Spring实战教程 | 第七篇:Spring事务处理概述
()事务是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做 Spring框架支持事务管理的核心是事务管理器抽象,对于不同的数据访问框架(如Hibernate)通过实现策略接口 PlatformTransactionManager,从而能支持各种数据访问框架的事务管理Spring事务的中心接口PlatformtransactionManager ...原创 2017-02-05 22:02:52 · 926 阅读 · 0 评论 -
Spring实战教程 | 第六篇:Spring通过工厂方法配置Bean
通过静态工厂方法配置Bean1、调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单地调用静态方法,而不用关心创建对象的细节 2、要声明通过静态方法创建的Bean,需要在Bean的class属性里指定拥有该工厂的方法的类,同时在factory-method属性里指定工厂方法的名称。最后使用< constrctor-arg>元素为该方法传递...原创 2017-02-01 23:56:46 · 5187 阅读 · 0 评论 -
Spring实战教程 | 第五篇:Spring自动装配及bean的生命周期
Spring自动装配介绍1、Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 的 autowire 属性里指定自动装配的模式 2、byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配. 3、byName(根据名称自动装配...原创 2017-02-01 22:34:42 · 922 阅读 · 0 评论 -
Spring实战教程 | 第四篇:Spring表达式语言:SpEL
1、SpEL简介Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。SpELEL可以给bean的属性动态赋值。 SpEl可以实现的功能: ①通过bean的id对bean进行引用 ②调用方法以及引用对象中的属性 ③计算表达式的值 ④正则表达式的匹配2、 字面值<!-- 字面量的表示 1、科学计数法 2、小数 3、整数--...原创 2017-01-28 21:24:00 · 662 阅读 · 0 评论 -
Spring实战教程 | 第三篇:Spring使用外部属性文件
当我们要配置数据源的信息时候,如果配置在Bean里面会很麻烦,所以需要个外部属性文件,外部属性文件主要配置系统部署的细节信息(比如文件路劲,数据源配置信息等) 外部属性文件db.propertiesuser=sapassword=12345678driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriverjdbcUrl=jdbc:...原创 2017-01-27 10:05:58 · 613 阅读 · 0 评论 -
Spring实战教程 | 第二篇:Spring属性配置细节
1、字面值1、字面值:可用字符串表示的值,可以通过 元素标签或 value 属性进行注入。 2、基本数据类型及其封装类、String 等类型都可以采取字面值注入的方式 3、若字面值中包含特殊字符,可以使用<![CDATA[ ] ]>把字面值包裹起来。代码示例 <!-- 如果字面值包含特殊字符可以使用<![CDATA[]]>包裹起来 -->...原创 2017-01-25 02:49:38 · 690 阅读 · 0 评论 -
Spring实战教程 | 第一篇: Spring中的Bean配置
配置形式:①基于 XML 文件的方式;②基于注解的方式 Bean 的配置方式:①通过全类名(反射)、②通过工厂方法(静态工厂方法 & 实例工厂方法)、③FactoryBeanIOC 和 DI*IOC(Inversion of Control):其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC ...原创 2017-01-24 23:48:59 · 847 阅读 · 0 评论