Spring jndi數(shù)據(jù)源配置方法詳解
本文實(shí)例為大家分享了Spring jndi數(shù)據(jù)源配置代碼,供大家參考,具體內(nèi)容如下
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é)點(diǎn)改為:
<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" /> <!-- 登錄錯(cuò)誤嘗試次數(shù) --> <beans:property name="maxAttempts" value="5" /> </beans:bean>
在websphere 下的配置,參考一下
<!-- 連接池?cái)?shù)據(jù)源配置 --> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>us_edbev</value> </property> </bean> <!-- end 連接池?cái)?shù)據(jù)源配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <!-- 配置Hibernate攔截器,自動(dòng)填充數(shù)據(jù)的插入、更新時(shí)間 --> <property name="entityInterceptor" ref="entityInterceptor" /> <property name="dataSource" ref="dataSource" /> <property name="hibernateProperties"> <value> <!-- 設(shè)置數(shù)據(jù)庫(kù)方言 --> hibernate.dialect=${hibernate.dialect} <!-- 設(shè)置自動(dòng)創(chuàng)建|更新|驗(yàn)證數(shù)據(jù)庫(kù)表結(jié)構(gòu) hibernate.hbm2ddl.auto=update --> <!-- 輸出SQL語(yǔ)句到控制臺(tái) --> hibernate.show_sql=true <!-- 格式化輸出到控制臺(tái)的SQL語(yǔ)句 --> hibernate.format_sql=${hibernate.format_sql} <!-- 是否開啟二級(jí)緩存 --> hibernate.cache.use_second_level_cache=false <!-- 配置二級(jí)緩存產(chǎn)品 --> hibernate.cache.provider_class=org.hibernate.cache.OSCacheProvider <!-- 是否開啟查詢緩存 --> hibernate.cache.use_query_cache=false <!-- 數(shù)據(jù)庫(kù)批量查詢數(shù) --> hibernate.jdbc.fetch_size=50 <!-- 數(shù)據(jù)庫(kù)批量更新數(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> <!-- 設(shè)置需要進(jìn)行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" /> <!-- 使用注解方式定義事務(wù) --> <tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" /> <!-- 配置事務(wù)管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置事務(wù)傳播特性 --> <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> <!-- 配置哪些類的哪些方法參與事務(wù) --> <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驗(yàn)證碼功能 --> <bean id="captchaService" class="com.octo.captcha.service.image.DefaultManageableImageCaptchaService"> <property name="captchaEngine"> <bean class="cn.com.sinosoft.common.JCaptchaEngine" /> </property> <!-- 驗(yàn)證碼過(guò)期時(shí)間 --> <property name="minGuarantedStorageDelayInSeconds" value="600" /> </bean>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaWeb學(xué)習(xí)筆記之Filter和Listener
這篇文章主要給大家介紹了關(guān)于JavaWeb學(xué)習(xí)筆記之Filter和Listener的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03一篇文章帶你了解Maven的坐標(biāo)概念以及依賴管理
這篇文章主要為大家介紹了Maven的坐標(biāo)概念以及依賴管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01解決SpringBoot中MultipartResolver和ServletFileUpload的沖突問題
這篇文章主要介紹了解決SpringBoot中MultipartResolver和ServletFileUpload的沖突問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10簡(jiǎn)介Java的Hibernate框架中的Session和持久化類
這篇文章主要介紹了Java的Hibernate框架中的Session和持久化類,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12PowerJob的DatabaseMonitorAspect源碼流程
這篇文章主要為大家介紹了PowerJob的DatabaseMonitorAspect源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Java中l(wèi)ombok的@Builder注解的解析與簡(jiǎn)單使用詳解
這篇文章主要介紹了Java中l(wèi)ombok的@Builder注解的解析與簡(jiǎn)單使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01JAVA實(shí)現(xiàn)經(jīng)典游戲坦克大戰(zhàn)的示例代碼
小時(shí)候大家都玩過(guò)坦克大戰(zhàn)吧,熟悉的旋律和豐富的關(guān)卡陪伴了我們一整個(gè)寒暑假。本文將通過(guò)Java+Swing實(shí)現(xiàn)這一經(jīng)典游戲,感興趣的可以學(xué)習(xí)一下2022-01-01Java詳細(xì)講解IO流的Writer與Reader操作
Writer與Reader類不能直接調(diào)用,需要使用多帶的方法調(diào)用它們的子類,在他們的前邊加上一個(gè)File即可如(FileWriter或FileReader)的多態(tài)方法進(jìn)行其調(diào)用,并且他們也是抽象類調(diào)用需要連接接口Exception,它們的優(yōu)點(diǎn)在于可以直接寫入或讀出內(nèi)容,不需要使用byte轉(zhuǎn)八進(jìn)制2022-05-05深度優(yōu)先與廣度優(yōu)先Java實(shí)現(xiàn)代碼示例
這篇文章主要介紹了深度優(yōu)先與廣度優(yōu)先Java實(shí)現(xiàn)代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12