SpringMVC注入失败

问题描述

SpringMVC+hibernate在main中使用代码测试可以得到正确的对象,代码如下public static void main(String[] args) {ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");ForumService fs=(ForumService)ctx.getBean("forumService");System.out.println(fs);BoardController bc=(BoardController)ctx.getBean("boardController");System.out.println(bc+"注入了:"+bc.getForumService());}可得到bc内的forumService和fs是同一个对象,注入正常但是用tomcat启动web项目后总是提示controller内的forumService对象为NULL下面是xml配置文件<?xml version="1.0" encoding="UTF-8"?><!-- 指定Spring配置文件的Schema信息 --><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 定义数据源Bean,使用C3P0数据源实现 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><!-- 指定连接数据库的驱动 --><property name="driverClass" value="com.mysql.jdbc.Driver" /><!-- 指定连接数据库的URL --><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/bbs" /><!-- 指定连接数据库的用户名 --><property name="user" value="root" /><!-- 指定连接数据库的密码 --><property name="password" value="19871013" /><!-- 指定连接数据库连接池的最大连接数 --><property name="maxPoolSize" value="20" /><!-- 指定连接数据库连接池的最小连接数 --><property name="minPoolSize" value="1" /><!-- 指定连接数据库连接池的初始化连接数 --><property name="initialPoolSize" value="1" /><!-- 指定连接数据库连接池的连接的最大空闲时间 --><property name="maxIdleTime" value="20" /></bean><!-- 定义Hibernate的SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- 依赖注入数据源,注入正是上面定义的dataSource --><property name="dataSource" ref="dataSource" /><!-- mappingResouces属性用来列出全部映射文件 --><property name="mappingResources"><list><!-- 以下用来列出Hibernate映射文件 --><value>wyc/bbs/model/Board.hbm.xml</value></list></property><!-- 定义Hibernate的SessionFactory的属性 --><property name="hibernateProperties"><props><!-- 指定数据库方言 --><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><!-- 是否根据需要每次自动创建数据库 --><prop key="hibernate.hbm2ddl.auto">update</prop><!-- 显示Hibernate持久化操作所生成的SQL --><prop key="hibernate.show_sql">true</prop><!-- 将SQL脚本进行格式化后再输出 --><prop key="hibernate.format_sql">true</prop><prop key="javax.persistence.validation.mode">none</prop></props></property></bean><bean id="boardDao" class="wyc.bbs.dao.BoardDao"><property name="sessionFactory" ref="sessionFactory"></property></bean><bean id="forumService" class="wyc.bbs.service.ForumService"><property name="boardDao" ref="boardDao"></property></bean><bean id="boardController" class="wyc.bbs.web.BoardController"><property name="forumService" ref="forumService"></property></bean></beans>

解决方案

<bean id="boardDao" class="wyc.bbs.dao.BoardDao"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="forumService" class="wyc.bbs.service.ForumService"> <property name="boardDao" ref="boardDao"></property> </bean> <bean id="boardController" class="wyc.bbs.web.BoardController"> <property name="forumService" ref="forumService"></property> </bean> BoardDao、ForumService、BoardController有没有set方法或者相应的注解
解决方案二:
可能是这个类wyc.bbs.web.BoardController中没有对应的set/get方法。。。
解决方案三:
加上组件扫描试试<context:component-scan base-package="wyc.bbs.web" />
解决方案四:
这个问题我也遇到过,后面还是让朋友帮我弄的
解决方案五:
<bean id="boardController" class="wyc.bbs.web.BoardController" scope="prototype"> <property name="forumService" ref="forumService"></property> </bean> ,试试

时间: 2024-07-28 21:56:24

SpringMVC注入失败的相关文章

springMVC新手@Repository bean注入失败

问题描述 springMVC新手@Repository bean注入失败 使用@Repository注册interface形式的DAO,结果在sevice中使用@Resource形式注入失败,提示 No qualifying bean of type [net.yanmie.playground.dao.IMainDao] found for dependency 解决方案 首先,那么是不是DAO类没有在SpringMVC的扫描路径下呢?也就是说这个DAO类不受spring托管. 其次,检查下你

注解失败-Spring整合Mybatis关于Dao注入失败的问题求解

问题描述 Spring整合Mybatis关于Dao注入失败的问题求解 抛出异常 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreat

springmvc4...-springmvc4.0使用@autowired注解自动注入失败

问题描述 springmvc4.0使用@autowired注解自动注入失败 在控制器中自动注入service失败,求大神帮忙.我在serviceImpl中加了@service注解.在controller中是private IUserBiz userBiz这应该没错的 解决方案 楼主你这个问题解决了没? 我也遇到了. 我用的SSH ,Spring4 service层和dao层注入都没问题 action层无法注入 结果删了action的注解写了个set get 就可以了 莫名其妙 解决方案二: 应该

html5-angular路由配置问题,路由注入失败

问题描述 angular路由配置问题,路由注入失败 var myApp = angular.module('myApp', ['ngRoute']); myApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/business', { templateUrl: 'admin/business.html', controller: 'businessController' }). when('

spring-SSH整合 属性对象注入 失败NullPointerException

问题描述 SSH整合 属性对象注入 失败NullPointerException SSH框架整合,Spring只使用核心模块IOCapplicationContext.xml配置如下: <bean id=""userServiceImpl"" class=""com.founder.ssj.service.impl.UserServiceImpl"" ></bean><bean id="

ios-javascriptcore 页面跳转 注入失败

问题描述 javascriptcore 页面跳转 注入失败 我现在想利用javascriptcore框架实现IOS与js的交互. 具体方法是使用evaluateScript从OC中把一段字符串形式的JS代码注入到HTML页面中内嵌的js中去,这样HTML内嵌的JS就好像调用本源文件中的JS函数一样调用注入的JS函数了. 但是,问题来了,当页面发生跳转的时候,注入就会失败.我在网上查了很多资料,没几句有用的,其中有一个说可能是jscontext没有获取到正确的内容,倒是感觉有几分道理,但是那人也没

配置-Java Web容器启动时,SessionFactory注入失败的问题

问题描述 Java Web容器启动时,SessionFactory注入失败的问题 包结构如下:Spring配置如下:UserDAO代码如下:Tomcat一启动,报错如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Injection of resource dependencies failed; nested exception is org.

struts 2-Struts和Spring整合后访问Action注入失败

问题描述 Struts和Spring整合后访问Action注入失败 如题,刚刚接触SSH,不知道是哪配置出问题了, 蛋疼的是单元测试中用ClassPathXmlApplicationContext读取spring配置文件却通过了- - Struts2配置: <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 --> <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 --&g

java-Spring注入失败求解答 谢谢!!!

问题描述 Spring注入失败求解答 谢谢!!! 我在myeclipse上使用的配置文件转到intellij上使用就报错了... @Autowired private UserService userService; 不能注入,直接new userServiceImpl不报错 问题来了!!!! 我报错的是用maven创建的web项目,我不用maven创建就什么错都不报,请问怎么回事啊 exception org.springframework.web.util.NestedServletExce