@Runwith
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
applicationContext里面第一个bean就是jndi数据源,测试用例启动就报错找不到对应数据源
参考了这:
https://blog.csdn.net/u012387062/article/details/55224536
也不行,有没有人遇到过啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
<pre>使用jndi数据源,需要依赖容器,所以不直接只用springtest做测试用例,使用junit的before方法绑定jndi.</pre>
@Before
public void init() {
System.out.println("ehcache缓存目录:" + System.getProperty("java.io.tmpdir"));
try {
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("classpath:spring/springtest/InitJndi.xml");
DataSource ds = (DataSource) app.getBean("dataSource");
SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
builder.bind("java:comp/env/jdbc/db1", ds);
builder.activate();
System.out.println("java:comp/env/jdbc/OracleDB init success...");
ClassPathXmlApplicationContext appcontext = new ClassPathXmlApplicationContext("classpath:spring/spring.xml");
//这里提取测试bean
testCacheService = (TestCacheService) appcontext.getBean("testCacheService");
sqlService = (SqlService) appcontext.getBean("sqlService");
baseDao = (BaseDao) appcontext.getBean("baseDao");
hibernateTemplate = (HibernateTemplate) appcontext.getBean("hibernateTemplate");
} catch (Exception e) {
e.printStackTrace();
}
}
回复 <a class="referer" target="_blank">@tianxia007</a> : 为何我还是有错
此方法亲测可用
<p>你好,请问能否把这两个配置文件贴出来呀</p>