Spring3.0
文章平均质量分 78
t1137471535
所谓成长,就是逼着你一个人,踉踉跄跄的受伤,跌跌撞撞的坚强。
展开
-
spring 依赖对象的注入方式(3种) 和 公共属性的设置abstract="true" parent
一、依赖对象的注入方式,可以采用: 1)ref属性 ref="bean3" /> 2) 标签 3) 内部来定义 ============================================= 二、公共属性的设置 1)通过标签定义公共的属性,转载 2012-04-24 17:23:31 · 363 阅读 · 0 评论 -
PropertyPlaceholderConfigurer XML中的一些配置数据存在属性文件中
classpath:com/foo/jdbc.properties 一个标准的java Properties格式的文件 jdbc.driverClassName=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:hsql://production:9002 jdbc.username=sa jd原创 2012-04-26 10:43:34 · 292 阅读 · 0 评论 -
【第六章】 AOP 之 6.8 切面实例化模型 ——跟我学spring3
所谓切面实例化模型指何时实例化切面。 Spring AOP支持AspectJ的singleton、perthis、pertarget实例化模型(目前不支持percflow、percflowbelow 和pertypewithin)。 singleton:即切面只会有一个实例;perthis:每个切入点表达式匹配的连接点对应的AOP对象都会创建一个新切面实例;pertarget转载 2012-04-28 11:33:52 · 204 阅读 · 0 评论 -
【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3
7.1 概述 7.1.1 JDBC回顾 传统应用程序开发中,进行JDBC编程是相当痛苦的,如下所示: java代码: 查看复制到剪贴板打印 //cn.javass.spring.chapter7. TraditionalJdbcTest @Test public void test() throws Exception {转载 2012-04-28 11:34:57 · 238 阅读 · 0 评论 -
【第六章】 AOP 之 6.7 通知顺序 ——跟我学spring3
如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序。总共有两种情况:同一切面中通知执行顺序、不同切面中的通知执行顺序。 首先让我们看下 1) 同一切面中通知执行顺序:如图6-6所示。 图6-6 同一切面中的通知执行顺序 而如果在同一切面中定义两个相同类型通知(如同是前置通知或环绕通知(转载 2012-04-28 11:33:18 · 267 阅读 · 0 评论 -
【第四章】 资源 之 4.1 基础知识 ——跟我学spring3
4.1.1 概述 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、读取资源、关闭资源),因此如果能抽象出一个统一的接口来对这些底层资源进行转载 2012-04-25 13:25:53 · 194 阅读 · 0 评论 -
Spring注解讲解
1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现: Java代码 public class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(UserDao use转载 2012-04-28 14:55:27 · 195 阅读 · 0 评论 -
【第六章】 AOP 之 6.2 AOP的HelloWorld ——跟我学spring3
6.2.1 准备环境 首先准备开发需要的jar包,请到spring-framework-3.0.5.RELEASE-dependencies.zip和spring-framework-3.0.5.RELEASE-with-docs中查找如下jar包: org.springframework.aop-3.0.5.RELEAS转载 2012-04-25 13:41:08 · 176 阅读 · 0 评论 -
【第六章】 AOP 之 6.3 基于Schema的AOP ——跟我学spring3
6.3 基于Schema的AOP 基于Schema的AOP从Spring2.0之后通过“aop”命名空间来定义切面、切入点及声明通知。 在Spring配置文件中,所以AOP相关定义必须放在标签下,该标签下可以有、、标签,配置顺序不可变。 :用来定义切入点,该切入点可以重用;:用来定义只有一个通知和一个切入点的切面;:用来定义切面,该切面可以包含多个切入点和通知,而且标签转载 2012-04-25 13:42:05 · 162 阅读 · 0 评论 -
【第六章】 AOP 之 6.6 通知参数 ——跟我学spring3
前边章节已经介绍了声明通知,但如果想获取被被通知方法参数并传递给通知方法,该如何实现呢?接下来我们将介绍两种获取通知参数的方式。 使用JoinPoint获取:Spring AOP提供使用org.aspectj.lang.JoinPoint类型获取连接点数据,任何通知方法的第一个参数都可以是JoinPoint(环绕通知是ProceedingJoinPoint,JoinPoint子类),当然第一转载 2012-04-28 11:32:37 · 326 阅读 · 0 评论 -
【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3
2.1.1 IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ●谁控制谁,控制什么:转载 2012-04-24 11:12:44 · 300 阅读 · 1 评论 -
【第一章】 Spring概述 ——跟我学Spring3
1.1.1 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。转载 2012-04-24 11:14:47 · 297 阅读 · 0 评论 -
【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3
2.2.1 IoC容器的概念 IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IoC容器进行组装。在Spring中BeanFactory是IoC容器的实际代表者。 Spring IoC容器如何知道哪些是它管理的对象呢?这就需要配置文件,Spring IoC容器通过读取配置文件中的转载 2012-04-24 11:17:38 · 243 阅读 · 0 评论 -
aop注解的配制方法
@Aspect @Component public class GrantActionAspect { //相当于一个被切入点,指master包下的所有方法 @Pointcut("within(ps.service.master..*)") private void masterMethod() { } //masterM原创 2012-05-03 13:15:55 · 272 阅读 · 0 评论 -
spring aop切点表达式函数
切点表达式函数 AspectJ 5的切点表达式由关键字和操作参数组成,如execution(* greetTo(..))的切点表达式,“execute”为关键字,而“* greetTo(..)”为操作参数。在这里,execute代表目标类执行某一方法,而“* greetTo(..)”是描述目标方法的匹配模式串,两者联合起来所表示的切点匹配目标类greetTo()方法的连接点。为了描述方便原创 2012-06-05 14:21:31 · 3924 阅读 · 0 评论 -
spring aop匹配表达式
以下是AspectJ中的三个通配符: 1)* 表示匹配任意数量的字符,除了句号(.) 2).. 表示比配包含句号在内的任意数量的字符。 3)+ 表示比配任意给定的类型的子类和子接口。 例: *Account 匹配以Account结尾的类型名,例如SavingsAccout和CheckingAccount java.*.Data 匹配java包下的直接子包下的原创 2012-06-05 14:31:08 · 703 阅读 · 0 评论 -
<context-param>与<init-param>的区别与作用含与Spring整合时的文件配置
的作用: web.xml的配置中配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将转化为键值对,并交给ServletContext. 4.容器创建中的类实例,即创建监听. 5.在转载 2012-04-27 10:24:42 · 468 阅读 · 0 评论 -
spring 3.0 application-conext.xml配置 .
这是我开发常用的spring配置模板,备忘。 xml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"转载 2012-04-27 10:32:22 · 330 阅读 · 0 评论 -
spring 3.0 spring-servlet.xml配置 .
这是我开发常用的spring基本配置模板,备忘。 xml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln转载 2012-04-27 10:31:48 · 502 阅读 · 0 评论 -
注入依赖对象的方式
手工装配 用法一:在xml配置文件中,通过bean节点配置(可使用P命名空间简化配置)。 示例:通过P命名空间来简化配置文件 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.spri原创 2012-04-25 10:53:52 · 284 阅读 · 0 评论 -
【第二章】 IoC 之 2.3 IoC的配置使用——跟我学Spring3
2.3.1 XML配置的结构 一般配置文件结构如下: java代码: 查看复制到剪贴板打印 import resource=”resource1.xml”/> class=””> class=””> class=””> "bean3" name="bean2"/> import resource=转载 2012-04-25 13:20:27 · 229 阅读 · 0 评论 -
【第三章】 DI 之 3.1 DI的配置使用 ——跟我学spring3
3.1.1 依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对接口的实现; 依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地方(比如某个方法体内)转载 2012-04-25 13:21:58 · 242 阅读 · 0 评论 -
【第三章】 DI 之 3.2 循环依赖 ——跟我学spring3
3.2.1 什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如图3-5所示: 图3-5 循环引用 循环调用是无法解决的,除非有终结条件,否则就是死循环转载 2012-04-25 13:22:43 · 205 阅读 · 0 评论 -
【第三章】 DI 之 3.4 Bean的作用域 ——跟我学spring3
3.4 Bean的作用域 什么是作用域呢?即“scope”,在面向对象程序设计中一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。 Spring提供“singleton”和“prototype”两种基本作用域,另外提供“request”、“session”、“global session”三种web作用域;Spr转载 2012-04-25 13:25:15 · 299 阅读 · 0 评论 -
【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
4.3.1 ResourceLoader接口 ResourceLoader接口用于返回Resource对象;其实现可以看作是一个生产Resource的工厂类。 java代码: 查看复制到剪贴板打印 public interface ResourceLoader { Resource getResource(String locat转载 2012-04-25 13:31:19 · 452 阅读 · 0 评论 -
【第五章】Spring表达式语言 之 5.1 概述 5.2 SpEL基础 ——跟我学spring3
5.1 概述 5.1.1 概述 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义。 表达式语言给静态Java语言增加了动态功能。转载 2012-04-25 13:32:47 · 342 阅读 · 0 评论 -
【第四章】 资源 之 4.2 内置Resource实现 ——跟我学spring3
4.2 内置Resource实现 4.2.1 ByteArrayResource ByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个ByteArrayInputStream。 首先让我们看下使用ByteArrayResource如何处理byte数组资源: java代码: 查看复制到剪贴板打印转载 2012-04-25 13:26:38 · 361 阅读 · 0 评论 -
【第六章】 AOP 之 6.5 AspectJ切入点语法详解 ——跟我学spring3
6.5.1 Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点; within:用于匹配指定类型内的方法执行; t转载 2012-04-25 13:43:55 · 340 阅读 · 0 评论 -
通过bean节点手工注入依赖对象
注入依赖(DI): Setter方法注入: "person" class="org.cric.action.Person"> A4 "person" class="org.cric.action.Person"> 注:setter注入bean的时候ref写的是在xml中bean的id 构造器注入: 构原创 2012-04-25 09:50:54 · 785 阅读 · 0 评论 -
【第三章】 DI 之 3.3 更多DI的知识 ——跟我学spring3
3.3.1 延迟初始化Bean 延迟初始化也叫做惰性初始化,指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean。 配置方式很简单只需在标签上指定 “lazy-init” 属性值为“true”即可延迟初始化Bean。 Spring容器会在创建容器时提前初始化“singleton”作用域的Bean,“singleton”就是单例的意思即转载 2012-04-25 13:24:23 · 206 阅读 · 0 评论 -
【第五章】Spring表达式语言 之 5.3 SpEL语法 ——跟我学spring3
5.3 SpEL语法 5.3.1 基本表达式 一、字面量表达式: SpEL支持的字面量包括:字符串、数字类型(int、long、float、double)、布尔类型、null类型。 类型 示例 字符串 String str1 = parser.parseExpression("'Hello World!'").getValue(Str转载 2012-04-25 13:39:22 · 310 阅读 · 0 评论 -
【第五章】Spring表达式语言 之 5.4在Bean定义中使用EL—跟我学spring3
5.4.1 xml风格的配置 SpEL支持在Bean定义时注入,默认使用“#{SpEL表达式}”表示,其中“#root”根对象默认可以认为是ApplicationContext,只有ApplicationContext实现默认支持SpEL,获取根对象属性其实是获取容器中的Bean。 首先看下配置方式(chapter5/el1.xml)吧: java代码转载 2012-04-25 13:40:00 · 289 阅读 · 0 评论 -
【第六章】 AOP 之 6.4 基于@AspectJ的AOP ——跟我学spring3
Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。 6.4.1 启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明,为了支持需要使用如下配置: java代码: 查看复制到剪贴板打印 这样Spring就能发现@AspectJ风格的切面并且将切面应转载 2012-04-25 13:43:17 · 266 阅读 · 0 评论 -
bean高级特性的学习
Bean的作用域: 使用scope属性定义bean的作用域,默认scope为singleton。 singleton:容器只为bean创建一个实例 客户端每次请求都返回一个共享实例 客户端不能控制bean的生命周期 由容器控制bean的产生,销毁 prototype:每次请原创 2012-04-25 10:25:04 · 261 阅读 · 0 评论 -
spring验证
在javabean中需要验证的属性上加上@XXXX public class User { private int uid; @NotEmpty(message="用户名必须填写") private String uname; private String upass; private String usex; private String uphone; priva原创 2012-05-18 17:14:43 · 298 阅读 · 0 评论