Spring : JDBC模板, 事务和测试
JDBCTemplate简单配置:
-------------------------------jdbc.properties配置------------------------------------------------------------------
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
--------------------------------- XML 配置 -------------------------------------------------------------------------
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClass}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
------------------------------------------然后直接注入 jdbcTemplate 即可使用----------------------------
-----------------------spring 事务管理---------------------------------------------------
(平台事物管理器) 根据 (事务定义信息) 进行事物管理, 事物的状态记录到 (事物状态) 对象中.
spring有两种平台事务管理器, 一种是 DataSourceTransactionManager(使用jdbc管理事物),
一种 HibernateTransactionManager(使用hibernate管理事物)
spring 事物传播行为见下图(为了解决事物之间的嵌套):
-------------------------------------------------------------------------------------------------------------------------------------------------
spring整合了Junit进行单元测试, 需要spring-test jar包
@RunWith(SpringJUnit4ClassRunner.class) (或者 @RunWith(SpringRunner.class))
@ContextConfiguration(locations = {"classpath:spring-config.xml"})
public class SpringTest01 {
@Resource
private AccountService accountService;
@Test
public void test01() {
xxxxxxxxxx;
}
}
这样就可以直接使用spring框架进行单元测试.