spring配置文件详解(applicationContext.xml)(2)

本文详细介绍了Spring框架中针对Oracle数据库的LOB处理配置,包括OracleLobHandler与DefaultLobHandler的使用,以及如何通过Spring的HibernateTransactionManager进行事务管理。此外,还探讨了基本事务代理配置、DAO实现类定义等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继上次的地方写,

<bean id="oracleLobHandler"
        class="org.springframework.jdbc.support.lob.OracleLobHandler">
        <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
    </bean>

    <bean id="defaultLobHandler"
        class="org.springframework.jdbc.support.lob.DefaultLobHandler">
    </bean>

    <bean id="nativeJdbcExtractor"
        class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"
        lazy-init="true" />

这里定义了一个oracleLobHandler以及他的源nativeJdbcExtrator,查询了下,原来这是Spring对操作各种数据库Clob或者Blob类型的统一管理,提供了一个LobHandler,负责处理二进制字段和大文本字段的。
其中陈先生的讲述很精细,想了解更多关于LobHandler可以看看这篇文章:

http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/
然后是

<bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

定义这个后可以开启spring的事务处理,具体事务处理的作用和使用方法以后另加说明。
之后是basicTxProxy

<bean id="basicTxProxy" abstract="true"
        class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
                <prop key="add*">PROPAGATION_REQUIRED</prop>
                <prop key="remove*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>

它来源于上面的transactionManager,而每个service创建都要继承与它,不过事务这块还没太搞懂,以后补充。

<bean id="abstractDAO" abstract="true"
        class="com.wondersgroup.framework.core.dao.impl.AbstractHibernateDAOImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean id="abstractJdbcDAO" abstract="true"
        class="com.wondersgroup.framework.core.dao.impl.AbstractJdbcDAOImpl">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <bean id="genericDAO" parent="abstractDAO"
        class="com.wondersgroup.framework.core5.dao.impl.GenericHibernateDaoImpl">
    </bean>

这三个是定义父类DAO的,待我先分析下源码。。。
接着

<bean id="defaultDialect"
        class="org.hibernate.dialect.Oracle10gDialect">
    </bean>

没有百度到,按字面意思是默认语言(方言?),而它的类是oracle10g的语言类,估计就是字面上的默认数据语言吧。
最后是

<bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>wssuap-messages</value>
            </list>
        </property>
    </bean>
    <bean class="com.wondersgroup.framework.util.I18nMessageSource" />
</beans>

messageSource,应该是定义消息源的,引用网上:ApplicationContext接口扩展了MessageSource接口,因而提供了消息处理的功能(i18n或者国际化)。与HierarchicalMessageSource一起使用,它还能够处理嵌套的消息,这些是Spring提供的处理消息的基本接口。
不懂,得再理解下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值