Spring jdbctemplate,datasource,transactionManager

时间:2013-11-22 17:15:19

标签: java spring

对于测试,我有一个抽象类。

public abstract class BaseTestClass

  private JdbcTemplate jdbcTemplate;

  @Autowired
  public void setDataSource(DataSource dataSource)
  {
  this.setJdbcTemplate(new JdbcTemplate(dataSource));
  }
  ...
}


@Transactional
@ContextConfiguration(locations = {"/spring/test/test-dao-context.xml"})
public class TestUser extends BaseTestClass{
...
}

在test-dao-context.xml文件中,我有我的事务管理器和数据源。

从不调用SetDataSource,所以当我尝试进行测试时,我得到一个空的pointerException。

1 个答案:

答案 0 :(得分:0)

您需要使用适当的跑步者运行测试,SpringJUnit4ClassRunner用于弹簧驱动测试。否则,没有任何东西会被注入任何地方,因为没有Spring Container管理所有实例。

查看Spring Unit Testing了解详情。