- 浏览: 348016 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
pacoson:
感谢楼主。请受小生一拜。
ANT预编译JSP -
zhuhongming123:
一楼的同学Lucene4.* 以上的 已经改成了Numeric ...
Lucene日期排序及组合查询 -
ywjk520:
RangeQuery在哪个包里?
Lucene日期排序及组合查询 -
willwen:
有个疑问,楼主,为何初始化bits 从txt读取已有的网址是直 ...
布隆过滤器(Bloom Filter)之java实例 -
yu_226528:
还不如没有呢
jFreeChart 在jsp页上实现简单的折线图、柱状图
1.1 零配置使用场合 IOC Annotations 可以实现零配置,但也因为不用在applicationContext.xml中定义了,也就缺乏了灵活的,不修改代码的IOC手段,也无法做一些属性值的配置。 所以,IOC annotation 常用于Service,Dao,Controller 这些依赖关系比较固定,约定俗成大于配置的地方。 而XML 配置文件则用于如Database/SessionFactory,Spring Security这些需要配置的地方。 1.2 ApplicationContext.xml 定义 定义自动扫描Classpath路径,扫描带有@Component/@Service/@Repository的pojo加入applicationContext,并根据@Autoired/@Qualifier 与 @Resource进行IOC配置,并对@PostConstruct 和 @PreDestroy和@Requried进行处理 <context:component-scan base-package="org.springside.examples.miniweb" /> 除不会扫描@Component/@Service/@Repository外,其他作用同上 <context:annotation-config />1.2 @Component/@Service 和 @Repository Spring扫描指定的classpath时,会含以上Annotation的类将加其加入ApplicaitonContext中。 一般@Repository用于DAO层, 而@Service层用于Service层,@Component用于其他,三者在Spring当前版本并没有本质区别。 1.3 @Autoired/@Qualifier 与 @Resource Spring2.5的新特性 part1(InfoQ) 使用 Spring 2.5 注释驱动的 IoC 功能(IBM DW) @Autoried 与 @Resource都比较灵活,不只能声明于setter函数,还能声明于不按setter规则命名的函数上,以及私有属性上(可省略无业务意义的仅spring需要的setter函数,在单元测试Mock对象时可用反射注入) @Autoried 默认byType,如果需要byName,在变量上增加@Qualifier,另外@Autoried默认隐含了@Required,保证变量一定被注入,如果不需要,用@Autowired(required=false)取消。 @Resource 默认byName,如果name找不到就会byType, 另可以用name与type属性设定。但在spring 2.5.5上的试验,不是很成功。 1.4 @Requried 对于非@autowired标注的属性,声明@Required表明明属性必须被注入。 1.5 生命周期Annotation JSR250的@PostConstruct 和 @PreDestroy,比以往的实现接口或者在applicationContext.xml中配置init-method的方式更为方便和标准。 2.属性文件 在配置文件中,很有一些属性会在团队的开发环境,个人的开发环境,集成测试环境,生产环境,甚至生产环境集群的每台服务器中都有所不同的。 为了将这些易变的属性抽从applicationContext取出来,Spring 做了一些特殊的支持, 详见Configuring applications with Spring,在SpringSide里配置如下: <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="ignoreResourceNotFound" value="true" /> <property name="locations"> <list> <value>classpath:application.properties</value> <value>classpath:application.local.properties</value> <value>file:/var/myapp/application.server.properties</value> </list> </property> </bean> 团队公用的开发环境配置在application.properties中,放入版本控制系统管理中。 个人的开发环境,集成测试环境中与公共环境不相同的部分,放入application.local.properties中,会覆盖application.properties中的设置,由个人管理,不放入版本管理系统。 在打包部署到生产环境时,可将生产环境每台服务器的特殊属性可放在服务器的某个固定目录,如/var/myapplicaiton/application.server.properties中(而不放在项目jar内), 每台服务器的配置文件分开不同服务器目录放在版本管理系统中。也可以在启动命令中加入参数来覆盖,如-Djdbc.username=aaa。 3. 事务 因为不喜欢在配置文件里用AspectJ定义事务,宁愿使用Spring的@Transactional annotation在service层上进行标注。 对于只读的方法,可以加入@Transactional (readOnly=true) 标注以提高性能。 因为Spring默认只对RuntimeException进行rollback,所以: 1.所有在service层方法中用throws定义的checkedException,都必须在@Transactional中定义rollbackclass。 2.所有在service层方法中catch处理了的Exception,又希望Spring辅助rollback的话,必须重抛一个RunTimeException,SpringSide里预定义了一个统一的ServiceException。 可特别配置事务类型,见 JavaEE事务资料 六种事务模型与四种事务隔离级别介绍。
发表评论
-
在Struts中基于Spring的AOP MethodInterceptor(拦截器)的权限验证
2010-08-13 13:34 1699本程序是关于"某考试系统"中的aop应用. ... -
反射实现 AOP 动态代理模式(2)
2010-08-05 12:40 935上面类中出现的Logger类和Level枚举还是和上一上例子的 ... -
反射实现 AOP 动态代理模式(1)
2010-08-05 12:37 905其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方 ... -
Spring事务配置的五种方式
2010-06-25 16:51 776前段时间对Spring的事务配置做了比较深入的研究,在此之间对 ... -
使用 Spring 2.5 注释驱动的 IoC 功能(2)
2010-06-25 16:37 896使用 JSR-250 的注释 Sprin ... -
使用 Spring 2.5 注释驱动的 IoC 功能(1)
2010-06-25 16:36 734概述 注释配置相对于 XML 配置具有很多的优势: 它可以 ... -
spring事务配置方法(BeanNameAutoProxyCreator)
2010-05-11 15:18 1056采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统 ... -
spring事务配置方法(TransactionProxyFactoryBean)
2010-05-11 15:10 1080采用这种方式的配置时候,配置文件的增加非常快,每个bean有需 ... -
spring事务配置方法(TransactionProxyFactoryBean继承)
2010-05-11 15:07 1123大部分情况下,每个事务代理的事务属性大同小异,事务代理的实现类 ... -
spring事务配置方法(BeanNameAutoProxyCreator)
2010-05-11 15:05 1135采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统 ... -
spring声明式事务
2010-05-11 14:26 837Spring中几种常见的事务配置,是Aop和Ioc的充分体现以 ... -
Spring AOP 入门实例
2010-05-01 19:18 853AOP 面向切面,可以让我们在不修改业务代码的前提下,在业务代 ... -
使用动态代理实现简单AOP
2010-05-01 19:02 795Spring默认使用JDK动态代理来实现AOP,如果业务对象没 ... -
Sping acegi 配置文件
2010-05-01 18:23 966applicationContext-acegi-securi ... -
Spring的BeanFactory
2010-05-01 18:17 781一、Spring装配Bean的过程 1. 实例化; 2. 设置 ... -
使用Spring方法注入协调不同步的bean
2010-05-01 18:00 1234<?xml version="1.0" ... -
几种加载Spring的配置文件的方式
2010-05-01 16:49 1288package com.liu.test; pu ... -
Quartz在Spring中动态设置cronExpression
2009-11-20 15:26 1242什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什 ... -
使用Spring发邮件
2009-11-07 14:15 994关于Spring的邮件发送的功能演示: (我把程序中一些敏感 ... -
Spring中的Quartz配置
2009-11-07 10:16 912Quartz是一个强大的企业级任务调度框架,Spring中继承 ...
相关推荐
Spring框架是Java开发中广泛应用的一个轻量级框架,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而实现DI的一种重要方式就是通过注解(Annotations)。本文将深入探讨Spring如何利用注解来实现...
在Java开发领域,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器。为了提升应用性能和减少数据库负载,Spring提供了多种缓存支持,其中包括集成第三方缓存库如...
4. **Spring Framework**: Spring是一个全面的Java企业级应用开发框架,它支持IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)。Spring还提供了大量的模块,如数据访问、...
【标签】:“spring ioc”指的是Spring框架中的Inversion of Control(控制反转)特性。Spring是一个广泛使用的Java企业级应用开发框架,它的IOC容器负责管理对象的生命周期和对象之间的依赖关系。通过IOC,对象的...
它以强大的Spring IoC容器为基础,并充分利用容器的特性来简化它的配置。 commons-logging-1.2.jar jackson-annotations-2.6.6.jar jackson-core-2.6.6.jar jackson-databind-2.6.6.jar jakarta-taglibs-standard-...
Spring框架是一个轻量级的控制反转(IoC)和面向切面编程(AOP)容器,它提供了模块化结构,易于扩展和维护。Spring2.5.5版本加强了对注解的支持,简化了Bean配置,同时提供了事务管理、数据访问、MVC框架等功能。 ...
它可能会重点介绍新特性,如XML配置的简化(如@Annotations)、Bean定义的增强(如Prototype scope和Lazy initialization)、表达式语言(Spring Expression Language, SpEL)以及对JSR-303 Bean Validation的支持。...
Spring 2.5 引入了对 JSR-250(Common Annotations for the Java Platform)的支持,使得在类和方法上使用注解来声明切面变得更为方便。`org.springframework.aop` 包中的类和接口展示了 AOP 的实现,包括切面...
Spring的IoC(Inversion of Control,控制反转)容器是其核心组件之一,它负责管理对象的生命周期和依赖关系。在2.5版本中,你可以通过注解直接在类或方法级别声明bean及其依赖。此外,`@Component`、`@Service`、`@...
首先,Spring框架本身包含在`spring.jar`中,这是Spring框架的基础库,提供了如IoC容器、数据访问/集成、Web、AOP、工具类、测试等核心功能。IoC容器是Spring的核心,它管理着应用对象的生命周期和配置,使得开发者...
- **Spring的IOC容器**:Spring的IoC容器是负责管理和控制对象生命周期的核心组件。它通过解析配置文件(通常是XML文件或注解)来创建和管理对象及其依赖关系。 - **使用注解支持依赖注入**:Spring支持多种注解来...
总的来说,学习Spring应从其核心概念、配置文件解析、IoC和AOP机制、MVC框架等方面入手,同时关注Spring与其他技术如JDBC、MyBatis、Hibernate的集成,以及Spring Boot和Spring Cloud等高级话题,以便全面掌握Spring...
IoC(Inversion of Control)容器是Spring框架的核心特性之一,它负责管理应用程序的对象或bean的生命周期和配置。通过Spring IoC容器,可以将对象的创建、配置和组装的责任从应用程序代码中分离出来。 - **3.2 ...
Spring的核心特性之一是IOC(Inversion of Control,控制反转),它负责管理对象的生命周期,包括创建、初始化和销毁。要实现这一功能,首先需要启动Spring容器,可以使用如下两种方式: 1. 使用...
在Spring 2.0.7中,通过XML配置文件或注解(Annotations)来定义bean及其依赖。IoC使得应用程序的组件之间解耦,提高了代码的可测试性。 2. **AOP**:Spring的AOP模块允许开发者定义横切关注点,如日志、事务管理等...
1. **Spring 框架核心库**:这是 Spring MVC 的基础,它包含了 IoC(Inversion of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)的核心概念。主要的 jar 包有 `spring-core.jar`、`...
在Spring 2.0中,Spring的IoC(Inversion of Control,控制反转)容器得到了进一步的加强,支持基于注解的配置,开发者可以在类和方法上使用注解来声明依赖,比如@Autowired和@Component。这使得配置文件变得更简洁...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 ...