首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

spring+ibatis整合的一个奇怪有关问题,有关问题解决给分

2012-01-23 
spring+ibatis整合的一个奇怪问题,问题解决给分各位好,现在很郁闷,请各位帮帮忙呢。我在java类中测试:Java

spring+ibatis整合的一个奇怪问题,问题解决给分
各位好,现在很郁闷,请各位帮帮忙呢。 
我在java类中测试: 

Java code
            ApplicationContext context;               System.out.println("Initalizing application");               context=new ClassPathXmlApplicationContext("applicationContext.xml");               System.out.println("Getting testDao");               UserDAO2 testDao=(UserDAO2)context.getBean("userDAO2");                              TUser user = testDao.getUserByUsername("xuetao");               System.out.println(user.getSex());

测试通过。 
在页面上调用: 
Java code
UserDAO2 userDAO2=new UserDAO2();               TUser user = userDAO2.getUserByUsername("xuetao");               System.out.println(user.getSex()); 


但是在页面上报错: 
java.lang.IllegalArgumentException: No SqlMapClient specified 
org.springframework.util.Assert.notNull(Assert.java:90) 
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:155) 
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:222) 

,好像是类中的 sqlMapClient 没有映射上呢。 
谢谢帮忙出出主意。

[解决办法]
不要在页面上调用dao
要调也不能直接new出来,因为new出来的没有注入sqlMapClient
所有你的dao对象要从spring容器出去取.
[解决办法]
楼上说的很明白了,new的对象是无法得到spring注入其中的变量的,要从容器里取
[解决办法]
说白了就是用了Spring后就不能直接new dao出来了!必须重容器里取
[解决办法]
建议LZ先看一些java基础书籍在来用spring

热点排行