如何从Spring访问配置为JNDI资源的JDBC驱动程序?

时间:2012-02-12 15:35:25

标签: spring tomcat jdbc datasource jndi

我的应用程序基于Spring MVC模板。

我已在我的context.xml中为DataSource配置了以下标记:

<Resource name="jdbc/registrator" auth="Container" type="javax.sql.DataSource"
           maxActive="100" maxIdle="30" maxWait="10000"
           username="javauser" password="javauser" driverClassName="org.gjt.mm.mysql.Driver"
           url="jdbc:mysql://localhost:3306/registrator"/>

我是否认为这会导致Tomcat创建一个服务器范围的org.gjt.mm.mysql.Driver bean实例并使其以“jdbc / registrator”名称提供?

我是否还要在web.xml中描述此资源,如http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html#JDBC_Data_Sources所述?如果我使用Spring框架,可能这不是必需的吗?

如何从Spring上下文配置中访问此bean?

1 个答案:

答案 0 :(得分:3)

使用jee命名空间(参见C.2.3 The jee schema):

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/registrator"/>

它定义了一个名为dataSource的bean,它代表您的Tomcat数据源。

无需向web.xml添加任何内容。