DataSourceTransactionManager和JndiObjectFactoryBean和JdbcTemplate的用途是什么? - java

以下的用途是什么:

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

上述类的用途是什么,我是春季新手,我想知道我们使用以上类的目的

下面是我的代码:-

<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>

java大神给出的解决方案

org.springframework.jdbc.core.JdbcTemplate

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

JdbcTemplate

org.springframework.jdbc.datasource.DataSourceTransactionManager

这就是您的TransactionManagerTransactionManagers处理您的所有交易活动-运行查询,包装在交易中。如您所见,DataSource作为属性传递给它。 DataSource是您的DB连接。

DataSourceTransactionManager

org.springframework.jndi.JndiObjectFactoryBean

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

JndiObjectFactoryBean

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

该行告诉您的Spring容器扫描类中的注释,例如@Transactional。在@Transactional中的方法上使用@Repository表示您希望将其包装在Transaction中。

为什么调用argparse.parse_args()或.parse_args(sys.argv)会有区别 - python

我在python代码中创建了以下参数解析器。parser = argparse.ArgumentParser() parser.add_argument('projectPath') parser.add_argument('-project') parser.add_argument('-release') …

如何使用for循环在python中添加字符代码的数值 - python

我将自己的名称另存为变量名称下的字符串。我想找到我名字中每个字符的字符代码,然后使用for循环将它们全部加起来。这就是我开始的目的,不知道它是否在盯着正确的方法name = "Ashley Marie" for index in name: ans = ord(index) python大神给出的解决方案 Kasra解决方案是正确的解决方案,…

比较python中两个元组的部分值 - python

这是我有一个简单的代码:a=(6,3,4,5) b=(1,2,1,3) if (a[i]<b[i+1] for i in range(1,3)): print("Yes") else: print("No") 我想做的是如果a [1]

我的scipy.sparse.linalg.eigs会怎样? - python

我在Anaconda发行版中使用python 2.7.8,但我在scipy时遇到问题。设A为稀疏矩阵;我想计算其特征值,但是如果我写:import scipy scipy.sparse.linalg.eigs(A) 我得到错误 Traceback (most recent call last): File "<stdin>", l…

在python中写入文件时如何跳过文本块 - python

从另一个文件写入文件时,是否可以使用python跳过文本块?例如,假设输入文件为:This is the file I would like to write this line I would like to skip this line and this one... and this one... and this one... but I want …