如何通过Spring中的JNDI名称获取DataSource连接?
How can I obtain the DataSource connection through the JNDI name in Spring?
我是 Spring 的新手,遇到以下问题。
我正在开发一个应用程序,运行 进入 JBoss 服务器,必须使用 JdbcTemplate.[=12= 在数据库上执行查询]
进入JBoss我已经设置了JNDI名称来标识数据库连接。
我尝试实现这个 JdbcTemplate 简单示例,我很清楚 JdbcTemplate 是如何工作的。在此示例中,为了创建与数据库的连接,它定义了一个 dataSource bean,然后将其注入到使用 JdbcTemplate 的 class 中, 这样:
<!-- 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名称从JBoss获取它?
您可以使用以下 spring-servlet.xml:
<jee:jndi-lookup id="dataSource" jndi-name="<JNDI NAME>" />
在 beans 标签的 xsi:schemaLocation 属性中添加以下内容:
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
我是 Spring 的新手,遇到以下问题。
我正在开发一个应用程序,运行 进入 JBoss 服务器,必须使用 JdbcTemplate.[=12= 在数据库上执行查询]
进入JBoss我已经设置了JNDI名称来标识数据库连接。
我尝试实现这个 JdbcTemplate 简单示例,我很清楚 JdbcTemplate 是如何工作的。在此示例中,为了创建与数据库的连接,它定义了一个 dataSource bean,然后将其注入到使用 JdbcTemplate 的 class 中, 这样:
<!-- 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名称从JBoss获取它?
您可以使用以下 spring-servlet.xml:
<jee:jndi-lookup id="dataSource" jndi-name="<JNDI NAME>" />
在 beans 标签的 xsi:schemaLocation 属性中添加以下内容:
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd