java - 如何使用Spring MVC访问数据库

标签 java spring spring-mvc

我正在浏览引用文档 - 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>

我很难理解 -

  1. 在哪里存储此 xml 文件?文件命名有什么术语吗?
  2. 数据源是如何从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/

相关文章:

java - Spring重定向请求映射

java - 解决二维数组中的 NxN 难题

java - 将日志文件编码到 xml 文件 - Java

java - 无法反序列化 HTTP 调用程序远程服务的结果 [...];嵌套异常是 java.lang.ClassNotFoundException :

java - 我正在尝试将我的应用程序从 Spring 转移到 Spring Boot,但遇到了一些问题。特别是以下异常

java - 如何使用spring mvc3上传文件?

java - Realm :记录顺序已更改

java - 当屏幕上出现 sprite "falls off"时,如何在 Java 游戏中调用 gameOver 方法?

java - 使用@category spring 和 gradle 运行 jUnit 测试

Java Spring : get current mapping in the controller