@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>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。