
Spring4
文章平均质量分 83
「已注销」
这个作者很懒,什么都没留下…
展开
-
Spring4之Helloworld
工具和环境:-----------------------------------------------------------------------------Eclipse版本:eclipse-jee-luna-R-win32JDK版本:jdk1.7.0_21Spring版本:spring-framework-4.0.0.RELEASE-dist 步骤:...原创 2015-07-01 19:23:50 · 89 阅读 · 0 评论 -
Spring之在Web应用中如何使用框架原理解析
在Web应用中如何使用Spring框架? 在回答这个问题之前,让我们先回顾一下在非Web中使用Spring框架的方式: package xyz.huning.spring4.helloworld;import org.springframework.context.ApplicationContext;import org.springframework.co...原创 2015-07-07 22:52:35 · 129 阅读 · 0 评论 -
Spring之在Web应用使用配置方式
在 WEB 环境下使用 Spring 1) 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jar 2) Spring 的配置文件和非 WEB 环境没有什么不同3) 需要在 web.xml 文件中加入如下配置: <!-- 配置 Spring 配置文件的名称和位置 --><context-param...原创 2015-07-07 23:27:30 · 211 阅读 · 0 评论 -
Spring之使用多个配置文件
1. 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件. <context-param><param-name>contextConfigLocation</param-...原创 2015-07-12 00:26:02 · 200 阅读 · 0 评论 -
Spring之使用AOP缘由(1-原始实现)
为什么要使用AOP呢?我们可以通过下面的一个小需求来找到答案。 需求1-日志:在程序执行期间追踪正在发生的活动需求2-验证:希望计算器只能处理正数的运算 代码实现一 package xyz.huning.spring4.aop.calculator;public interface ICalculator { double add(doub...原创 2015-07-12 19:41:58 · 165 阅读 · 0 评论 -
Spring之使用AOP缘由(2-动态代理实现)
为了解决原始实现中存在的问题,下面考虑使用动态代理来实现。 代理设计模式的原理使用一个代理将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 类图 实现 package xyz.huning.spring4.aop.calculator;import or...原创 2015-07-12 19:46:44 · 101 阅读 · 0 评论 -
Spring之使用AOP缘由(3-SpringAOP实现-注解配置方式)
由于编写一个适用于企业级应用的AOP功能模块对普通程序员有一定的挑战以及重复开发此功能也会定义程度上造成浪费。因此,直接使用Spring框架提供的AOP功能可以做到事半功倍。 AOP 简介 AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程...原创 2015-07-12 21:24:36 · 126 阅读 · 0 评论 -
Spring之使用AOP缘由(4-SpringAOP实现-XML配置方式)
除了使用AspectJ注解声明切面,Spring 也支持在 Bean 配置文件中声明切面。这种声明是通过 aop schema 中的 XML 元素完成的。正常情况下,基于注解的声明要优先于基于 XML 的声明。通过 AspectJ 注解,切面可以与 AspectJ 兼容,而基于 XML 的配置则是 Spring 专有的。由于 AspectJ 得到越来越多的 AOP 框架支持,所以以注解风...原创 2015-07-12 21:53:31 · 166 阅读 · 0 评论 -
Spring之使用AOP缘由(5-回顾)
计算器模型回顾 源代码见附件:xyz.huning.spring4.aop.rar原创 2015-07-13 19:41:07 · 77 阅读 · 0 评论 -
Spring之AOP注解配置详解
启动AOP配置 要在 Spring 应用中使用 AspectJ 注解,需要如下支持:1. 在 classpath 下包含 AspectJ 类库:aopalliance.jar、aspectj.weaver.jar 和 spring-aspects.jar2. 将 aop Schema 添加到 Bean 配置文件 <beans> 根元素中。3. 在 Bean...原创 2015-07-13 20:33:09 · 170 阅读 · 0 评论 -
Spring之AOP注解之引入通知
引入通知是一种特殊的通知类型。它通过为接口提供实现类,允许对象动态地实现接口,就像对象已经在运行时扩展了实现类一样。 引入通知可以使用两个实现类 MaxCalculator 和 MinCalculator, 让 PureCalculator动态地实现 IMaxCalculator 和 IMinCalculator 接口。 而这与从 MaxCalculator 和 MinCal...原创 2015-07-13 21:31:05 · 420 阅读 · 0 评论 -
Spring之对JDBC的支持
JdbcTemplate 为了使 JDBC 更加易于使用,Spring 在 JDBC API 上定义了一个抽象层,以此建立一个 JDBC 存取框架。作为 Spring JDBC 框架的核心,JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法。每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务。通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作...原创 2015-07-13 23:28:24 · 93 阅读 · 0 评论 -
Spring之在开发中使用SpringJDBC
在实际开发中使用SpringJDBC有两种方式: 1. 在Dao中添加属性JdbcTemplate并用Spring注入; JdbcTemplate类被设计成为线程安全的,所以可以在IOC 容器中声明它的单个实例,并将这个实例注入到所有的 DAO 实例中。JdbcTemplate也利用了Java 1.5 的特定(自动装箱,泛型,可变长度等)来简化开发。2. 使Dao继...原创 2015-07-13 23:43:38 · 125 阅读 · 0 评论 -
Spring之在SpringJDBC模板中使用具名参数
在经典的 JDBC 用法中,SQL 参数是用占位符 ? 表示,并且受到位置的限制。定位参数的问题在于, 一旦参数的顺序发生变化,就必须改变参数绑定。在 Spring JDBC 框架中,绑定 SQL 参数的另一种选择是使用具名参数(named parameter)。 具名参数 SQL 按名称(以冒号开头)而不是按位置进行指定。具名参数更易于维护,也提升了可读性。具...原创 2015-07-14 13:09:11 · 187 阅读 · 0 评论 -
Spring之使用事务缘由(1-原始实现)
事务简介 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性。事务就是一系列的动作,它们被当做一个单独的工作单元。这些动作要么全部完成,要么全部不起作用。 事务的四个关键属性(ACID) 原子性(atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成要么完全不起作用。一致性(consistency)...原创 2015-07-15 14:05:00 · 101 阅读 · 0 评论 -
Spring之使用事务缘由(2-注解实现)
Spring事务注解实现1. 依赖包: 1.1 spring包: spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring-core-4.0.0.RELEASE.jar spring-expression-4.0.0.RELEASE.j...原创 2015-07-15 20:56:52 · 129 阅读 · 0 评论 -
Spring之使用事务缘由(3-XML实现)
用事务通知声明式地管理事务 事务管理是一种横切关注点。为了在 Spring 2.x 中启用声明式事务管理,可以通过 tx Schema 中定义的 <tx:advice> 元素声明事务通知,为此必须事先将这个 Schema 定义添加到 <beans> 根元素中去。声明了事务通知后,就需要将它与切入点关联起来。由于事务通知是在 <aop:config&g...原创 2015-07-15 21:11:28 · 120 阅读 · 0 评论 -
Spring之事务属性详解
Spring事务属性包括:传播性、隔离级别、回滚事务属性、超时和只读属性。 事务传播属性 当事务方法被另一个事务方法调用时, 必须指定事务应该如何传播. 例如: 方法可能继续在现有事务中运行, 也可能开启一个新事务, 并在自己的事务中运行.事务的传播行为可以由传播属性指定. Spring 定义了 7 种类传播行为. Spring 支持的事务传播行为 ...原创 2015-07-15 21:27:27 · 147 阅读 · 0 评论 -
Spring之AOP
AOP依赖包: 2.1 spring包: 核心包: spring-framework-4.0.0.RELEASE-dist: spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring...原创 2015-07-05 11:50:03 · 78 阅读 · 0 评论 -
Spring之整合多个配置文件
Spring 允许通过 <import> 将多个配置文件引入到一个文件中,进行配置文件的集成。这样在启动 Spring 容器时,仅需要指定这个合并好的配置文件就可以。import 元素的 resource 属性支持 Spring 的标准的路径资源 <import resource="applicationContext.xml"/> ...原创 2015-07-05 00:54:17 · 202 阅读 · 0 评论 -
Spring 是什么
Spring 是一个开源的 IOC(DI) 和 AOP 容器框架,为简化企业级应用开发而生,可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能。 Spring特点: 轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API依赖注入(DI --- dependency injection、IO...原创 2015-07-01 23:33:34 · 138 阅读 · 0 评论 -
安装 SPRING TOOL SUITE
安装 SPRING TOOL SUITE SPRING TOOL SUITE 是一个 Eclipse 插件,利用该插件可以更方便的在 Eclipse 平台上开发基于 Spring 的应用。安装方法说明(springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite.zip):Help --> Install New Soft...原创 2015-07-01 23:39:54 · 113 阅读 · 0 评论 -
Spring之IOC和DI
qqq原创 2015-07-02 07:44:05 · 79 阅读 · 0 评论 -
Spring容器
Spring 容器 在 Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean 实例并使用. Spring 提供了两种类型的 IOC 容器实现. BeanFactory: IOC 容器的基本实现.ApplicationContext: 提供了更多的高级特性....原创 2015-07-02 07:54:01 · 79 阅读 · 0 评论 -
Spring之依赖注入方式及其配置
Spring 支持 4 种依赖注入的方式 属性注入构造器注入工厂方法注入(静态工厂方法、实例工厂方法)FactoryBean 属性注入 属性注入即通过 setter 方法注入Bean 的属性值或依赖的对象属性注入使用 <property> 元素, 使用 name 属性指定 Bean 的属性名称,value 属性或 <value&g...原创 2015-07-02 08:02:24 · 213 阅读 · 0 评论 -
在 Spring 的 IOC 容器里配置 Bean
配置 bean配置形式:基于 XML 文件的方式;基于注解的方式Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBeanIOC 容器 BeanFactory & ApplicationContext 概述依赖注入的方式:属性注入;构造器注入注入属性值细节自动转配bean 之间的关系:继承;...原创 2015-07-03 20:21:25 · 121 阅读 · 0 评论 -
Spring之配置集合属性
在 Spring中可以通过一组内置的 xml 标签(例如: <list>, <set> 或 <map>) 来配置集合属性.配置 java.util.List 类型的属性, 需要指定 <list> 标签, 在标签里包含一些元素. 这些标签可以通过 <value> 指定简单的常量值, 通过 <ref> 指定对其他 ...原创 2015-07-03 20:34:16 · 571 阅读 · 0 评论 -
Spring之在不同 Bean之间共享集合
使用基本的集合标签定义集合时, 不能将集合作为独立的 Bean 定义, 导致其他 Bean 无法引用该集合,所以无法在不同 Bean 之间共享集合。可以使用 util schema 里的集合标签定义独立的集合 Bean, 需要注意的是,,必须在 <beans> 根元素里添加 util schema 定义。 示例: 1. 添加模型类 packag...原创 2015-07-03 21:34:01 · 506 阅读 · 0 评论 -
Spring之使用 p 命名空间
1. 为了简化 XML 文件的配置,越来越多的 XML 文件采用属性而非子元素配置信息。2. Spring 从 2.5 版本开始引入了一个新的 p 命名空间,可以通过 <bean> 元素属性的方式配置 Bean 的属性。使用 p 命名空间后,基于 XML 的配置方式将进一步简化。 示例: 1. 添加模型类 package xyz.huning....原创 2015-07-03 21:34:37 · 259 阅读 · 0 评论 -
Spring之XML 配置里Bean的自动装配
Spring IOC 容器可以自动装配 Bean, 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式。 自动装配模式 1. byType(根据类型自动装配):若 IOC 容器中有多个与目标 Bean 类型一致的 Bean。 在这种情况下,Spring 将无法判定哪个 Bean 最合适该属性,所以不能执行自动装配。2. byNa...原创 2015-07-03 21:36:21 · 108 阅读 · 0 评论 -
bean 之间的关系:继承和依赖
bean 之间的关系:继承和依赖 继承 Bean 配置 Spring 允许继承 bean 的配置,被继承的 bean 称为父 bean。继承这个父 Bean 的 Bean 称为子 Bean。子 Bean 从父 Bean 中继承配置,包括 Bean 的属性配置。子 Bean 也可以覆盖从父 Bean 继承过来的配置。父 Bean 可以作为配置模板,也可以作为 ...原创 2015-07-04 12:37:20 · 91 阅读 · 0 评论 -
bean 的作用域
bean 的作用域 singleton:在每个Spring IoC容器中一个bean定义对应一个对象实例。 prototype: 一个bean定义对应多个对象实例。 request:在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring Applica...原创 2015-07-04 12:37:35 · 80 阅读 · 0 评论 -
Spring使用外部属性文件
在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bea...原创 2015-07-04 12:37:43 · 90 阅读 · 0 评论 -
Spring之SpEL
SpEL即Spring表达式语言,是一个支持运行时查询和操作对象图的强大的表达式语言,其语法类似于EL。SpEL使用#{...}作为定界符,所有在大括号中的字符都将被认为是SpEL。SpEL为bean的属性进行动态赋值提供了便利。 通过SpEL可以实现:1) 通过bean的id对bean进行引用2) 调用方法以及引用对象中的属性3) 计算表达式的值4) 正则表达式...原创 2015-07-04 23:19:24 · 77 阅读 · 0 评论 -
Spring之Bean的生命周期以及Bean后置处理器
Spring IOC 容器可以管理 Bean 的生命周期,,Spring 允许在 Bean 生命周期的特定点执行定制的任务。 Bean 的生命周期 1. 通过构造器或工厂方法创建 Bean 实例2. 为 Bean 的属性设置值和对其他 Bean 的引用3. 调用 Bean 的初始化方法4. Bean 可以使用了5. 当容器关闭时,调用 Bean 的销毁方法...原创 2015-07-04 23:20:42 · 146 阅读 · 0 评论 -
Spring之使用注解配置bean
在 classpath 中扫描组件 组件扫描(component scanning): Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 特定组件包括:@Component: 基本注解, 标识了一个受 Spring 管理的组件@Respository: 标识持久层组件@Service: 标识服务层(业务层)组件@Con...原创 2015-07-05 00:53:47 · 254 阅读 · 0 评论 -
Spring4.x之泛型依赖注入
Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用。 示例 1. 添加Java模型 package xyz.huning.spring4.di.annotation.beancfg.generic;public class Product { private int id; private String name;...原创 2015-07-05 00:53:59 · 118 阅读 · 0 评论 -
Spring4之Spring4
在基于主机方式配置Spring的配置文件中,你可能会见到<context:annotation-config/>这3样一条配置,他的作用是式地向 Spring 容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProc...原创 2015-09-16 12:30:43 · 96 阅读 · 0 评论