有几种方法可以做到这一点,这取决于您的环境。如果您正在使用 Spring,那么您很有可能正在部署 Web 应用程序,或者您处于 J2EE 环境中。如果是这种情况(可以说即使不是),您可能想要配置一个数据源。
这是一个相当简单的解决方案:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
以上使用的是 Apache (Jakarta Commons) 数据库连接池,但您的应用服务器可能有一个您可能想要使用的替代方案。此外,不同的数据库供应商也有自己的数据源实现(例如 OracleDataSource 和 OracleXADataSource for Oracle)。
请注意 jdbc.username 等属性的使用。这是一种典型配置,因为数据库配置通常因环境而异。您可以使用以下内容激活属性配置器:
<bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesPlaceholderConfigurer">
<property name="location" value="classpath:jdbc.properties"/>
</bean>
现在你可能也想要交易,我想。最简单的方法是使用平台事务管理器,但与大多数 Spring 一样,有多种方法可以做到这一点。
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
在此之后,您可以直接使用此 bean,或者(可以说更常见)您可以使用带有 AOP(注释)的声明性事务。
(极好的) Spring 参考文档中有关这些主题的更多信息。