摘要: Spring的事务管理: 事务原本是数据库中的概念,在 Dao 层。但一般情况下,需要将事务提升到业务层,即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。 在 Spring 中通常可以通过以下三种方式来实现对事务的管理: (1)使用 Spring 的事务代理工厂管理事务 (2 阅读全文
posted @ 2017-02-04 19:06 拉夫德尔 阅读(10844) 评论(0) 推荐(7) 编辑
摘要: Spring 与 JDBC模板: 为了避免直接使用 JDBC 而带来的复杂且冗长的代码,Spring 提供了一个强有力的模板类 JdbcTemplate 来简化 JDBC 操作。并且,数据源 DataSource 对象与模板 JdbcTemplate 对象均可通过 Bean 的形式定义在配置文件中, 阅读全文
posted @ 2017-02-04 16:00 拉夫德尔 阅读(413) 评论(0) 推荐(0) 编辑
摘要: AspectJ 对 AOP 的实现: 对于 AOP 这种编程思想,很多框架都进行了实现。Spring 就是其中之一,可以完成面向切面编程。然而,AspectJ 也实现了 AOP 的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring 又将 AspectJ 的对于 AOP 阅读全文
posted @ 2017-02-04 13:38 拉夫德尔 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。 换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。 客户类真正的想要访问的对象是目标对象,但客户类真正可以访 阅读全文
posted @ 2017-02-03 20:13 拉夫德尔 阅读(335) 评论(0) 推荐(0) 编辑
摘要: Spring与AOP: AOP的引入: 主业务经常需要调用系统级业务(交叉业务),如果在主业务代码中大量的调用系统级业务代码,会使系统级业务与主业务深度耦合在一起,大大影响了主业务逻辑的可读性,降低了代码的可维护性,同时也增加了开发难度。 所以,可以采用动态代理方式。动态代理是 OCP 开发原则的一 阅读全文
posted @ 2017-02-03 19:08 拉夫德尔 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 基于注解的DI(依赖注入): 对于 DI 使用注解,将不再需要在 Spring 配置文件中声明 Bean 实例。只需要在 Spring 配置文件中配置组件扫描器,用于在指定的基本包中扫描注解。 注意:添加的约束http://www.springframework.org/schema/context 阅读全文
posted @ 2017-02-03 15:29 拉夫德尔 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 基于XML的DI(依赖注入): Bean 实例在调用无参构造器创建了空值对象后,就要对 Bean 对象的属性进行初始化。初始化是由容器自动完成的,称为注入。根据注入方式的不同,常用的有两类:设值注入、构造注入。还有另外一种,实现特定接口注入。由于这种方式采用侵入式编程,污染了代码,所以几乎不用。 注 阅读全文
posted @ 2017-02-03 14:23 拉夫德尔 阅读(614) 评论(1) 推荐(0) 编辑
摘要: Bean的装配: Bean 的装配,即 Bean 对象的创建。容器根据代码要求创建 Bean 对象后再传递给代码的过程,称为 Bean 的装配。 1. 创建Bean对象的方式: 1. 通过 getBean()方式从容器获取指定的 Bean 对象。 Bean的配置:<bean id="someServ 阅读全文
posted @ 2017-02-03 11:32 拉夫德尔 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Spring程序开发: 1. 导入jar包(略) 2. 创建Spring配置文件: Spring 配置文件的文件名可以随意,但 Spring 建议的名称为 applicationContext.xml 测试类: 解释:ApplicationContext 用于加载 Spring 的配置文件,在程序中 阅读全文
posted @ 2017-02-03 10:33 拉夫德尔 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Spring概述: Spring框架: Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送(Messaging)、核心容器 阅读全文
posted @ 2017-02-02 21:46 拉夫德尔 阅读(381) 评论(0) 推荐(0) 编辑