熟悉这个标题的同学请看下,最近研究人人网paoding-rose框架,准备做一个简单的B/S架构的小东西,原来是为了快速开发,但是弄了两天了,仍然存在问题。
- Java code
package com.text.controllers;import org.springframework.beans.factory.annotation.Autowired;import com.text.dao.UserDao;public class UserController { @Autowired private UserDao userDao; public String login() { return "@测试成功"+userDao.getUser(1); }}
这是controller
- Java code
package com.text.dao;import net.paoding.rose.jade.annotation.DAO;import net.paoding.rose.jade.annotation.SQL;@DAO(catalog="dataSource")public interface UserDao { @SQL("select name from user where id=:1") public String getUser(int id);}
- XML code
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>roseFilter</filter-name> <filter-class>net.paoding.rose.RoseFilter</filter-class> </filter> <filter-mapping> <filter-name>roseFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping></web-app>
- XML code
<?xml version="1.0" encoding="utf-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-lazy-init="true"> <!-- 这里使用Spring自带的DriverManagerDataSource,实际开发产品应该使用具有连接持管理的DataSource等 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> </beans>
这是applicationcontext-datasources。xml 没有其他配置文件了,希望懂的帮下忙。每次运行,直接报错
说是严重: Exception starting filter roseFilter
org.springframework.web.util.NestedServletException: [Rose-1.0.1-20100604@Spring-2.5.6.SEC01]:Error creating bean with name 'ModuleBuilder.com.text.controllers.UserController': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.text.dao.UserDao com.text.controllers.UserController.userDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.text.dao.UserDao': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: not found dataSource for catalog: 'dataSource'; you should set a dataSource bean (with id='jade.dataSource[.daopackage[.daosimpleclassname]]' or 'dataSource' )in applicationContext for this catalog.; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleBuilder.com.text.controllers.UserController': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.text.dao.UserDao com.text.controllers.UserController.userDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.text.dao.UserDao': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: not found dataSource for catalog: 'dataSource'; you should set a dataSource bean (with id='jade.dataSource[.daopackage[.daosimpleclassname]]' or 'dataSource' )in applicationContext for this catalog.
at net.paoding.rose.RoseFilter.initFilterBean(RoseFilter.java:296)
at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:179)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
就在发帖的瞬间,居然把问题解决了,不过我还是要发帖,白白浪费了四十分,当做周五散分了
------解决方案--------------------
朋友,,你怎样解决的呢??我没搞明哪里出错的,,说说,谢谢 了