我正在浏览引用文档 - http://docs.spring.io/spring/docs/2.0.8/reference/jdbc.html使用 Spring 架构从 Web 应用程序连接数据库。
这里,代码使用数据源创建一个 jdbcTemplate。
public class JdbcCorporateEventDao implements CorporateEventDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
// JDBC-backed implementations of the methods on the CorporateEventDao follow...
}
数据源在 xml 文件中定义 -
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="corporateEventDao" class="com.example.JdbcCorporateEventDao">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- the DataSource (parameterized for configuration via a PropertyPlaceHolderConfigurer) -->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<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>
</beans>
我很难理解 -
- 在哪里存储此 xml 文件?文件命名有什么术语吗?
- 数据源是如何从xml映射到代码中的?例如。如果我想在xml文件中有另一个环境,需要修改的代码应该是什么?
感谢您的投入。
最佳答案
- 您可以将其存储在任何地方并随意命名!您可以通过将该 xml 文件导入到 spring 上下文中来创建 bean。
例如,如果我将文件命名为 datasource.xml 并将其存储在我的 src/main/resources/config 文件夹下:
<import resource="classpath:config/datasource.xml"/>
我认为您是在问如何针对不同环境轻松配置数据源。有很多方法可以实现这一点——我通常在一个目录中创建一些数据源文件(通常是我上面提到的那个)
datasource.DEV.xml datasource.QA.xml datasource.PROD.xml
其中每一个都配置到不同的数据库。然后,我通过传入一个名为“env”的环境变量来导入:
<import resource="classpath:config/datasource.${env}.xml"/>
如果您使用 Eclipse 启动,则可以在“环境”选项卡下的运行配置中进行指定。
关于java - 如何使用Spring MVC访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23349565/