spring+ibatis整合的一个奇怪有关问题,有关问题解决给分
spring+ibatis整合的一个奇怪问题,问题解决给分
各位好,现在很郁闷,请各位帮帮忙呢。
我在java类中测试:
测试通过。
在页面上调用:
但是在页面上报错:
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
各位好,现在很郁闷,请各位帮帮忙呢。
我在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