昨天初步学习了一下spring,并调了配置spring,中间用到了dbcp:
详情请见: 梦想博客: http://www.gold98.net/blog/
http://jakarta.apache.org/site/downloads/downloads_commons-dbcp.cgi
http://jakarta.apache.org/commons/dbcp/downloads.html
我们假设SampleDAO是一个运行在J2EE容器中的组件(如 Weblogic)。在运行期,通过JNDI从容器中获取DataSource实例。
现在假设我们的部署环境发生了变化,系统需要脱离应用服务器独立运行,这样,由于失去了容器的支持,原本通过JNDI获取DataSource的方式不再有效。我们需要如何修改以适应新的系统环境?很简单,我们只需要修改dataSource的配置:
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/sample</value></property>
<property name="username">
<value>user</value>
</property>
<property name="password">
<value>mypass</value>
</property>
</bean>
<bean id="SampleDAO" class="net.xiaxin.spring.dao.SampleDAO">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
</beans>
这里我们的DataSource改为由Apache DBCP组件提供。没有编写任何代码我们即实现了DataSource的
切换。回想传统编码模式中,如果要进行同样的修改,我们需要付出多大的努力。
依赖注入机制减轻了组件之间的依赖关系,同时也大大提高了组件的可移植性,这意味着,组件得到重用的机会将会更多。