JDBC (dbcp,c3p0数据源)转weblogic JNDI数据源

本文介绍了如何将JDBC(如dbcp或c3p0)的数据源转换为WebLogic的JNDI数据源,以避免配置文件中的敏感信息泄露。详细步骤包括在WebLogic中创建连接池、Spring配置文件中使用JndiObjectFactoryBean,以及处理两种使用数据源的方式和可能出现的问题。
摘要由CSDN通过智能技术生成

JDBC (dbcp,c3p0数据源)转weblogic JNDI数据源 

转变原因:避免在配置文件中出现数据库的链接信息(用户名、密码等) 

转变过程: 
  1 在weblogic控制台建一个连接池和数据源,并互相关联 
  2 在spring配置文件中applicationContext.xml文件中加入如下代码: 

  <bean id="crmdatasource" 
                class="org.springframework.jndi.JndiObjectFactoryBean"> 
                <property name="jndiName"> 
                        <value>ODSCRM</value><!--数据源名称--> 
                </property> 
                <!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false 
                <property name="resourceRef"> 
                        <value>true</value> 
                </property> 
                --> 
                <property name="jndiEnvironment"> 
                        <props>  
                                <!-- The value of Context.PROVIDER_URL --> 
                                <prop key="java.naming.provider.url"> 
                                        t3://localhost:7001 
                                </prop> 
                                <prop key="java.naming.factory.initial"> 
                                        weblogic.jndi.WLInitialContextFactory 
                                </prop> 
                        </props> 
                </property> 
     </bean> 

3 在使用数据源时有两种方式 

   a  在需要连接数据库的类中直接获取datasource  然后时候datasource.getConnection()方法获取连接 后续操作就和普通JDBC一样,如果原代码使用的是普通JDBC 
操作数据库方式,那么这种修改方式改动最小 
   b  增加DAO层,可以继承JdbcDaoSupport(getJdbcTemplate()),HibernateDaoSupport(getHibernateTemplate()),SqlMapClientDaoSupport(getSqlMapClientTemplate()), 
最后将dao注入到具体的操作类中 
------容易出现的问题: 

1无法注入,无论在注入datasource还是dao时都为null 

2在spring配置文件中加入如下代码会报错,去掉反而正常 
  <!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false 

                <property name="resourceRef"> 
                        <value>true</value> 
                </property> 


   --> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小哭包

创作不易,给作者加个鸡腿吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值