gpt4 book ai didi

java - DataSourceTransactionManager 和 JndiObjectFactoryBean 和 JdbcTemplate 有什么用?

转载 作者:行者123 更新时间:2023-12-03 05:10:24 25 4
gpt4 key购买 nike

下面有什么用:

org.springframework.jdbc.core.JdbcTemplate
org.springframework.jdbc.datasource.DataSourceTransactionManager
org.springframework.jndi.JndiObjectFactoryBean
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" />

上面的类有什么用,我是spring新手,我想知道我们使用上面的类的目的是什么

下面是我的代码:-

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">Error</prop>
</props></property></bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" /></bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
scope="singleton">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" />
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/DbDataSource"/>
<property name="lookupOnStartup" value="true"/>
<property name="proxyInterface" value="javax.sql.DataSource"/></bean>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>

最佳答案

org.springframework.jdbc.core.JdbcTemplate

Spring使用JdbcTemplate类与数据库交互。您将使用此类来提交查询。它显着减少了样板代码。

JdbcTemplate

<小时/>
org.springframework.jdbc.datasource.DataSourceTransactionManager

这将是您的TransactionManagerTransactionManagers 处理所有事务 Activity - 运行封装在事务中的查询。如您所见,DataSource 作为属性传递给它。 DataSource 将是您的DB 连接。

DataSourceTransactionManager

org.springframework.jndi.JndiObjectFactoryBean
<小时/>

这是一个 Spring 类,用于处理与通过 JNDI 名称获取的资源的连接。

JndiObjectFactoryBean

<小时/>
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" />

这一行告诉您的 Spring 容器扫描您的类以查找 @Transactional 等注释。您在 @Repository 中的方法上使用 @Transactional 来表明您希望将其包装在 Transaction 中。

关于java - DataSourceTransactionManager 和 JndiObjectFactoryBean 和 JdbcTemplate 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40086182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com