Spring jndi數(shù)據(jù)源配置方法詳解
本文實例為大家分享了Spring jndi數(shù)據(jù)源配置代碼,供大家參考,具體內容如下
xml配置:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:orcl" />
<property name="username" value="cba" />
<property name="password" value="***" />
</bean>
在weblogic/jboss中配置好JNDI數(shù)據(jù)源后,上述節(jié)點改為:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/ssoDS</value>
</property>
</bean>
其中:第3行的java:/ssoDS即為web容器中配置好的jndi數(shù)據(jù)源名稱
其它地方不用任何修改,使用示例如下:
<beans:bean id="userDetailsDao" class="infosky.ckg.sso.dao.impl.UserDetailsDaoImpl">
<beans:property name="dataSource" ref="dataSource" />
<!-- 登錄錯誤嘗試次數(shù) -->
<beans:property name="maxAttempts" value="5" />
</beans:bean>
在websphere 下的配置,參考一下
<!-- 連接池數(shù)據(jù)源配置 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>us_edbev</value>
</property>
</bean>
<!-- end 連接池數(shù)據(jù)源配置 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<!-- 配置Hibernate攔截器,自動填充數(shù)據(jù)的插入、更新時間 -->
<property name="entityInterceptor" ref="entityInterceptor" />
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<value>
<!-- 設置數(shù)據(jù)庫方言 -->
hibernate.dialect=${hibernate.dialect}
<!-- 設置自動創(chuàng)建|更新|驗證數(shù)據(jù)庫表結構
hibernate.hbm2ddl.auto=update
-->
<!-- 輸出SQL語句到控制臺 -->
hibernate.show_sql=true
<!-- 格式化輸出到控制臺的SQL語句 -->
hibernate.format_sql=${hibernate.format_sql}
<!-- 是否開啟二級緩存 -->
hibernate.cache.use_second_level_cache=false
<!-- 配置二級緩存產品 -->
hibernate.cache.provider_class=org.hibernate.cache.OSCacheProvider
<!-- 是否開啟查詢緩存 -->
hibernate.cache.use_query_cache=false
<!-- 數(shù)據(jù)庫批量查詢數(shù) -->
hibernate.jdbc.fetch_size=50
<!-- 數(shù)據(jù)庫批量更新數(shù) -->
hibernate.jdbc.batch_size=30
hibernate.autoReconnect=true
</value>
</property>
<property name="annotatedClasses">
<list>
.....
</list>
</property>
</bean>
<!-- 緩存配置 -->
<!-- <oscache:config configLocation="classpath:oscache.properties" id="cacheProvider" />-->
<!-- <oscache:annotations providerId="cacheProvider">-->
<!-- <oscache:caching id="caching" cronExpression="0 1 * * *" refreshPeriod="86400" />-->
<!-- <oscache:flushing id="flushing" />-->
<!-- </oscache:annotations>-->
<bean id="cacheManager" class="org.springmodules.cache.provider.oscache.OsCacheManagerFactoryBean">
<property name="configLocation" value="classpath:oscache.properties" />
</bean>
<!-- 設置需要進行Spring注解掃描的類包 -->
<context:component-scan base-package="cn.com.sinosoft" />
<context:component-scan base-package="com.sinosoft" />
<!-- 使用AspectJ方式配置AOP -->
<aop:aspectj-autoproxy proxy-target-class="true" />
<aop:config proxy-target-class="true" />
<!-- 使用注解方式定義事務 -->
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" />
<!-- 配置事務管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事務傳播特性 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="get*" read-only="true" />
<tx:method name="load*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 配置哪些類的哪些方法參與事務 -->
<aop:config>
<aop:advisor pointcut="execution(* cn.com.sinosoft.service..*.*(..))" advice-ref="transactionAdvice" />
</aop:config>
<!-- 配置freemarkerManager -->
<bean id="freemarkerManager" class="cn.com.sinosoft.util.FTLManager" />
<!-- 配置JCaptcha驗證碼功能 -->
<bean id="captchaService" class="com.octo.captcha.service.image.DefaultManageableImageCaptchaService">
<property name="captchaEngine">
<bean class="cn.com.sinosoft.common.JCaptchaEngine" />
</property>
<!-- 驗證碼過期時間 -->
<property name="minGuarantedStorageDelayInSeconds" value="600" />
</bean>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解決SpringBoot中MultipartResolver和ServletFileUpload的沖突問題
這篇文章主要介紹了解決SpringBoot中MultipartResolver和ServletFileUpload的沖突問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
簡介Java的Hibernate框架中的Session和持久化類
這篇文章主要介紹了Java的Hibernate框架中的Session和持久化類,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12
PowerJob的DatabaseMonitorAspect源碼流程
這篇文章主要為大家介紹了PowerJob的DatabaseMonitorAspect源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Java中l(wèi)ombok的@Builder注解的解析與簡單使用詳解
這篇文章主要介紹了Java中l(wèi)ombok的@Builder注解的解析與簡單使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
JAVA實現(xiàn)經典游戲坦克大戰(zhàn)的示例代碼
小時候大家都玩過坦克大戰(zhàn)吧,熟悉的旋律和豐富的關卡陪伴了我們一整個寒暑假。本文將通過Java+Swing實現(xiàn)這一經典游戲,感興趣的可以學習一下2022-01-01
深度優(yōu)先與廣度優(yōu)先Java實現(xiàn)代碼示例
這篇文章主要介紹了深度優(yōu)先與廣度優(yōu)先Java實現(xiàn)代碼示例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

