`

【转】spring文档配置属性

 
阅读更多

Spring

1.DTD

 

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">

  

以上是Spring 2.0的标准DTD,相比之下不是很喜欢用schema xsd文件式的定义,一大堆太长了,只有真正要使用Spring定义的Schema如TX,AOP 时才使用Schema。

 

2.default-lazy-init

 

     Spring的lazy-init,可以使单元测试与集成测试时的速度大大加快,不过要留意一些类比如XFire导出WebService的定义,还有Spring MVC的xx-servlet.xml文件,都不能定为lay-init,否则会吃大亏。

 

 

3.PropertyOverrideConfigurer

   

不同于PropertyPlaceholderConfigurer 替换context文件中的变量,PropertyOverrideConfigurer是在ApplicationContext 初始化的最后,强行将某些Bean的某些属性,替换成它的properties文件里的值。

    比如生产环境的jdbc.properties里定义了jdbc连接为Oracle,并通过PlaceholderConfigurer设置到<bean id="dataSource"> 里,在测试时再载入下面的applicationContex-test.xml文件,就能透明的将配置更改为嵌入式数据库。

 

applicationContext-test.xml: 定义载入的properties。

 

<bean id="testPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
        <property name="location" value="classpath:spring/test/jdbc.properties"/>
</bean>

 

 

spring/test/jdbc.properties: 将ApplicationContext 中id为dataSource的bean的url属性改为使用hsqldb。

 

dataSource.url=jdbc:hsqldb:res:default-db

 

4. Spring 2.0的schema简写

 

 Spring 2.0开始推进了一系列的简写法,从僵硬的<bean id="xx" class="xxxx.xxx.xxx">,转为<aop:xxxx>这样的形式。

 完整的schema列表见参考手册附录A: http://www.redsaga.com/spring_ref/2.0/html/xsd-config.html

 另外,附录B还提供了自行开发schema的方式。手册里宣称,普通应用项目团队要开发schema有点麻烦,但呼吁各开源项目团队开发都各自的schema,共同简化配置文件。

 其中有一种可能是最容意使用的默认schema是p,推进<propertity>节点写法的进一步简化。

 

<bean>
  <property name="foo" value="foovalue">
  <property name="fooBean" ref="fooBean"/>
</bean>

<!-- 简写为 -->
<bean p:foo="foovalue" p:fooBean-ref="fooBean"/> 

 

5.default-merge

 

   从Spring 2.0M2开始,beans支持default-merge= "true" 的定义,子类不需要重新定义父类的List型属性中已定义过的内容。在声明式事务体系下,一般会定义一个baseTxService基类

 

<bean id="baseTxService"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
          abstract="true">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="proxyTargetClass" value="true"/>
   <property name="transactionAttributes">
            <props>
                <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="remove*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
 </bean>

  

可以在beans统一定义default-merge= true,也可以每个bean定义,则子类的transactionAtttributes只须定义子类新增的部分,无须再定义get*,save*等。

   不过Spring2.0已采用新的AOP写法,此方法的重要性下降。

<beans default-merge="true">
 <bean id="orderManager" parent="baseTxService">
        <property name="target">
            <bean class="org.springside.bookstore.service.OrderManager"/>
        </property>
        <property name="transactionAttributes">
            <props>
                <prop key="shipOrder">PROPAGATION_REQUIRED</prop>
            </props>
         </property>
    </bean>

</beans>

 6.IMPORT

 

     如何组织ApplicationContext文件,决定了声明式编程会不会差一步变成配置地狱。SpringSide建议:为了单元测试,ApplicationContext文件尽量放ClassPath 而不是WEB-INF 目录。尽量使用<Import> 帮助以模块为单元组织ApplicationContext文件。如根目录的 /applicationContext.xml 和 springmvc-servlet.xml,都只定义一些公共的东西,然后以如下方式include模块里的applicationContext:

 

<import resource="classpath:org/springside/bookstore/admin/applicationContext-manager.xml"/>

 

7.IntrospectorCleanupListener

 

  避免Struts,Quartz的内存泄露导致ClassLoader不能加载。详细见Spring的API DOC文档

 

   <listener>
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    </listener>
分享到:
评论

相关推荐

    springMongodb参考文档中文版

    属性表达式 7.4.4。特殊参数处理 7.4.5。限制查询结果 7.4.6。流式查询结果 7.4.7。异步查询结果 7.5。创建存储库实例 7.5.1。XML配置 7.5.2。JavaConfig 7.5.3。独立使用 7.6。Spring Data存储库的自定义实现 7.6.1...

    Spring中文帮助文档

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    spring boot oauth2 jwt 中文文档.docx

    在 Spring Boot 中,我们可以使用 @Configuration 注解来定义配置类,并使用 @Bean 注解来定义 Bean。 使用 JWT(JSON Web Token)来生成访问令牌是 OAuth2 授权框架的一种常见实现。JWT 是一种基于 json 的令牌,...

    spring3.1中文参考文档

    spring3.1中文参考文档,南磊翻译,现在有4章,目录如下: 第一部分 Spring framework概述.......................................................................................................................

    Spring Boot中文文档.rar

    类型安全的配置属性 24.8.1.第三方配置 24.8.2.轻松绑定 24.8.3.合并复杂类型 24.8.4.属性转换 转换持续时间 转换数据大小 24.8.5.@ConfigurationProperties验证 24.8.6.@...

    spring chm文档

    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. 切入点...

    spring两个简单登录案例(注解+配置+文档)

    本压缩包包含spring两个简单登录案例(注解+配置+文档),内容是springJDBC+属性注入,注解注入,SpringMVC两个例子分别两个源码两个文档。自己写的一个小例子。

    Spring Security-3.0.1中文官方文档(翻译版)

    配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager 5.5.2.4. 扩展安全对象模型 5.6. 国际化 6. 核心服务 6.1. The AuthenticationManager , ProviderManager 和...

    spring mvc 3.2 参考文档

    Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...

    spring 4.doc

    资源是关于Spring 4的学习笔记,Spring有Bean配置,属性注入方式,Spring分模块开发,Aop技术,Jdbc模板使用,事务管理(其中包括XML开发方式和注解开发方式)

    spring配置文件详解--真的蛮详细

    下面列举的是一份比较完整的配置文件模板,文档中各XML标签节点的基本用途也给出了详细的解释,这些XML标签节点在后续的知识点中均会用到,熟练掌握了这些XML节点及属性的用途后,为我们动手编写配置文件打下坚实的...

    Spring初级讲解

    主要讲解Spring的初级教学教程,内容包括Spring配置文件中属性定义、DI(依赖注入),在maven工程中如何实现Spring与mybatis集成,以及案例分析

    spring4.3全部标签及属性1.xmind

    用xmind整理的spring的xml配置标签和属性,按照spring模块类别划分的,spring-aop、spring-beans、spring-context、spring-mvc等。

    Spring-Reference_zh_CN(Spring中文参考手册)

    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. 切入点实施 ...

    Spring 2.0 开发参考手册

    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. 切入点...

    Spring 3.x 中文开发手册.pdf

    8、spring配置文件中namespace的事情,不感兴趣 9、非标准setter类也可以注入了。。。不感兴趣 10、支持Servlet3的某个东东,可以写程序直接启动webapp,而非web.xml,不感兴趣 11、支持servlet3的上传东东,可能是...

    JAVA Spring框架实现登陆查询 完整搭建框架方法的word文档 包含mysql文件

    2 配置加载spring-mybatis.xml 3 配置编码过滤器 4 配置加载sping-mybaties文件所需要的类 5 配置处理javabean类销毁的类 6 配置sping-mvc的前端控制器 7 配置 项目默认访问页面和设置session的会话...

    Spring API

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    Spring Data JPA文档.zip

    详细的介绍spring和jpa结合,包含的jpa的注解的解析和配置,比较详细的介绍,适合初级和进阶学习

    Tomcat6+spring+jndi配置数据源说明.docx

    本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理。数据源是一个池子,里面有若干个数据连接对象,当需要时就从里面拿一个使用,使用完毕就放回去,如果超过最大数,就需要等待其他人释放后再操作。 ...

Global site tag (gtag.js) - Google Analytics