首页 文章

如何通过Spring中的JNDI名称获取DataSource连接?

提问于
浏览
0

我在Spring很新,我有以下问题 .

我正在开发一个运行到JBoss服务器的应用程序,它必须使用 JdbcTemplate 在数据库上执行查询 .

进入JBoss我已经设置了 JNDI name 来识别数据库连接 .

我试图实现这个简单的例子,我很清楚 JdbcTemplate 是如何工作的 . 在此示例中,为了创建与数据库的连接,它定义了一个 dataSource bean,然后将其注入到使用 JdbcTemplate 的类中,这样:

<!-- Initialization for data source -->
   <bean id="dataSource" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/TEST"/>
      <property name="username" value="root"/>
      <property name="password" value="password"/>
   </bean>

   <!-- Definition for studentJDBCTemplate bean -->
   <bean id="studentJDBCTemplate" 
      class="com.tutorialspoint.StudentJDBCTemplate">
      <property name="dataSource"  ref="dataSource" />    
   </bean>

因此,正如您所看到的,在此配置中,数据源配置显式写入xml配置文件 .

如何通过定义的 JNDI name 从JBoss获取它?

1 回答

  • 2

    您可以使用以下spring-servlet.xml:

    <jee:jndi-lookup id="dataSource" jndi-name="<JNDI NAME>" />
    

    在bean标签的xsi:schemaLocation属性中添加以下内容:

    http://www.springframework.org/schema/jee    http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
    

相关问题