0 0

SpringMVC注入失败5

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>
2013年5月09日 14:53

5个答案 按时间排序 按投票排序

0 0

采纳的答案

<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方法或者相应的注解

2013年5月10日 10:39
0 0

可能是这个类wyc.bbs.web.BoardController中没有对应的set/get方法。。。

2013年5月10日 08:53
0 0

加上组件扫描试试<context:component-scan base-package="wyc.bbs.web" />

2013年5月09日 16:38
0 0

这个问题我也遇到过,后面还是让朋友帮我弄的

2013年5月09日 15:45
0 0

<bean id="boardController" class="wyc.bbs.web.BoardController" scope="prototype">   
        <property name="forumService" ref="forumService"></property>   
   </bean>   

,试试

2013年5月09日 15:21

相关推荐

    spring+springmvc整合mabytis时mapper注入失败问题解决方法

    在Spring + SpringMVC 整合 MyBatis 的过程中,可能会遇到Mapper注入失败的问题,这个问题通常是由于配置不正确或者依赖冲突导致的。以下是一些可能导致此类问题的原因和相应的解决策略。 1. **Spring Context未...

    SpringMVC controller

    首先,SpringMVC作为Spring框架的一部分,继承了Spring的诸多优点,例如依赖注入(DI)和面向切面编程(AOP),这使得SpringMVC在处理业务逻辑和事务管理方面表现得更为出色。此外,SpringMVC天然支持RESTful Web...

    cas结合 springmvc shiro 单点登录

    它简化了Java Web开发,提供了强大的依赖注入、数据绑定以及异常处理等功能。 3. **Shiro**: Apache Shiro是一个强大的Java安全框架,涵盖了认证、授权、会话管理和加密等功能。在SSO场景下,Shiro可以作为应用内部...

    简单的SpringMVC小项目(适合刚刚学的)

    1. **输入验证**:对用户输入进行校验,防止SQL注入和XSS攻击。 2. **密码处理**:对用户密码进行加密存储,提高安全性。 3. **权限控制**:实现基于角色的权限控制,限制未登录用户访问敏感资源。 **测试** 项目...

    SpringMVC用户登录Demo

    7. **安全考虑**:在实际项目中,我们还需要考虑安全性问题,例如防止SQL注入、XSS攻击等。Spring Security是一个很好的工具,它可以集成到SpringMVC中,提供身份验证和授权功能,增强系统的安全性。 在压缩包文件...

    SpringMVC用户登录实例详解

    如果验证失败,我们可以使用模型属性(model attributes)传递错误信息,并重定向回登录页面。如果验证成功,可以重定向到其他受保护的页面。 7. **安全性考虑**: 在实际应用中,我们需要考虑安全性问题,如密码...

    springMVC简单登陆例子

    - 为了防止SQL注入,应使用PreparedStatement代替Statement,并确保正确处理用户输入。 - 对密码进行加密存储,登录时比较哈希值,而不是明文密码。 - 可以引入Apache Shiro或Spring Security来提供更全面的安全...

    springmvc简单的登陆

    1. **防止 SQL 注入**:确保在处理用户输入时进行适当的参数化查询,避免 SQL 注入攻击。 2. **密码安全**:不应在代码中明文存储密码,应使用哈希和盐值对密码进行加密存储。 3. **CSRF 防御**:为敏感操作添加 ...

    SpringMVC框架实例

    此外,还可以利用Spring的依赖注入(DI)和面向切面编程(AOP)特性来管理对象和实现解耦。 在SpringMVC中,请求参数可以通过注解如@RequestParam、@PathVariable和@RequestBody进行获取。例如,使用@RequestParam...

    SpringMVC实现网上报名

    @Autowired注解用于自动装配依赖,这样我们无需手动创建对象,Spring会自动将依赖注入到需要的地方。 5. **@Repository**:在数据访问层,用于标记DAO(数据访问对象)类,这使得Spring能够处理数据库操作中的异常...

    SpringMvc单元测试Junit

    如果有失败,JUnit会提供详细的失败信息帮助定位问题。 在"mbts"这个文件夹中,可能包含了这个示例项目的源代码、测试代码和相关的配置文件。为了更深入地理解这个Demo,你可以检查其中的`src/test/java`目录,看看...

    Spring+SpringMVC实现登录功能

    失败时,会显示错误消息。 6. **配置**:项目中会包含SpringMVC和Spring的配置文件,如`spring-servlet.xml`和`applicationContext.xml`。这些配置文件定义了bean的定义、数据源、事务管理器以及URL映射规则。 7. ...

    SpringMVC+mysql+idea+JDBC实现的登陆注册系统

    此外,还需要防范SQL注入攻击,通过预编译的PreparedStatement来避免恶意SQL命令的执行。 7. **异常处理**: 开发者应确保程序中包含完善的异常处理机制,对可能出现的错误如数据库连接失败、SQL执行异常等进行...

    Spring+SpringMVC用户角色管理系统.zip

    Spring框架是Java开发中的核心框架,它提供了依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriented Programming)等功能,极大地提高了开发效率。SpringMVC是Spring框架的一部分,专门用于构建Web应用...

    SpringSecurity+springMVC+mybatis

    5. 登录配置:配置登录页面和登录失败处理器,以及退出登录的逻辑。 SpringMVC和MyBatis的集成则涉及以下内容: 1. 创建MyBatis的配置文件,定义数据源、事务管理器等。 2. 配置MyBatis的扫描路径,使Spring能够...

    springMVC实现用户注册及登陆

    2. **SQL注入防护**: 对用户输入进行预处理或使用ORM框架避免SQL注入。 3. **验证码验证**: 在注册时使用验证码防止自动注册。 4. **CSRF令牌**: 保护登录接口免受跨站请求伪造攻击。 通过以上步骤,你可以用Spring...

    springmvc_mybatis3.01.zip_SpringMVC事务_漏洞

    - SQL注入:使用预编译的PreparedStatement或MyBatis的动态SQL来防止恶意SQL注入。 - 参数校验:对输入数据进行严格的校验,避免非法数据引发的问题。 - 权限控制:设置合理的权限边界,防止越权操作。 - 定期...

    springMVC12.rar_springMvc 注册_springmvc

    7. **验证(Validation)**:为了确保用户输入的数据有效,Spring MVC 提供了 Bean Validation 框架,允许我们在模型类上添加验证注解,如 `@NotBlank`, `@Size`, `@Email` 等,验证失败时会返回错误信息。 通过以上...

    SpringMVC_Upload.rar_shipvu7_springmvc_springmvc upload

    总的来说,"SpringMVC_Upload.rar_shipvu7_springmvc_springmvc upload"示例涉及了Spring MVC框架下的多文件上传、返回值处理以及与数据库交互的关键知识点。通过学习和实践这些内容,你可以构建出健壮的Web应用程序...

    Spring集成SpringMVC/Mybatis

    **Spring集成SpringMVC/Mybatis** 在Java Web开发领域,Spring、SpringMVC和Mybatis是三个非常关键的框架,它们共同构建了一个强大的后端服务架构。Spring作为一个全面的框架,提供了依赖注入(DI)和面向切面编程...

Global site tag (gtag.js) - Google Analytics