向Controller中注入spring管理的service、dao。
1.定义接口及实现类
按照
http://sb33060418.iteye.com/admin/blogs/2372850中的测试步骤,在相同包中创建接口类TestService、TestDao和实现类TestServiceImpl、TestDaoImpl。
[
2.spring配置
root-context.xml增加内容如下:
<import resource="services.xml"/>
<import resource="daos.xml"/>
其中引入service.xml配置:
<?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.xsd"
default-autowire="byName" default-lazy-init="true">
<!-- services -->
<bean id="testService" class="com.sunbin.test.testSpring.service.impl.TestServiceImpl">
</bean>
</beans>
dao.xml配置
<?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.xsd"
default-autowire="byName" default-lazy-init="true">
<!-- daos -->
<bean id="testDao" class="com.sunbin.test.testSpring.dao.impl.TestDaoImpl">
</bean>
</beans>
3.新增Controller
创建BeanController.java类
package com.sunbin.test.testSpring.web.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.sunbin.test.testSpring.service.TestService;
public class BeanController implements Controller {
private TestService testService;
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
ModelAndView modelAndView = new ModelAndView();
String param = request.getParameter("param");
String messsage = testService.test(param);
System.out.println(messsage);
modelAndView.addObject("message", messsage);
modelAndView.setViewName("helloWorld");
return modelAndView;
}
public TestService getTestService() {
return testService;
}
public void setTestService(TestService testService) {
this.testService = testService;
}
}
类中引用了testService,并读取名为param的地址参数。
4.springmvc配置
resolvers-context.xml增加内容如下:
<bean name="/bean" class="com.sunbin.test.testSpring.web.controller.BeanController"></bean>
配置了一个地址为/bean的controller,通过spring的autowire自动装配testService。
7.测试BeanController
部署项目并启动tomcat后,通过浏览器访问
http://localhost:8080/testSpringWeb/bean?param=sunny
可以看到输出:testServiceImpl.test:testDaoImpl.test:sunny
说明Controller注入并调用Service、Dao成功。
分享到:
相关推荐
集成 Spring MVC 和 DWR,可以利用 Spring 的依赖注入特性,将 DWR 的服务 bean 注入到 Spring MVC 控制器中,使得整个应用更加模块化和易于管理。在实际项目中,通常会创建一个专门的 DWRController 或 Service,将...
在本项目中,Spring作为容器管理了所有bean的生命周期,包括Spring MVC的控制器、Mybatis的SqlSessionFactory等,同时提供了事务管理功能。 **4. 数据库设计** 博客系统的数据库通常会包含用户表、博客文章表、评论...
十七、Spring MVC如何取得Spring管理的bean:阐述了如何在Spring MVC中获取Spring容器管理的Bean,以便进行业务处理。 十八、Spring MVC多视图控制器:解释了如何配置和使用Spring MVC的多视图控制器来处理不同的...
ApplicationContext 是 Spring 中的核心接口,它负责管理 Bean 的生命周期和依赖注入,同时提供事件发布和国际化等功能。 2. `org.springframework.beans-3.0.2.RELEASE.jar`:这个库包含 Bean 工厂(BeanFactory)...
一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...
`org.springframework.context-3.1.1.RELEASE.jar` 和 `org.springframework.beans-3.1.1.RELEASE.jar` 是Spring框架的核心组件,提供了上下文管理和bean工厂的功能,能够管理应用的生命周期和依赖注入。 `org....
Spring框架则是一个全面的企业级应用开发平台,它不仅包含Spring MVC,还提供了依赖注入(DI)、AOP(面向切面编程)、事务管理、JDBC抽象、缓存、任务调度等多个核心功能。在全注解开发中,我们可以使用@Autowired...
引入MyBatis-Spring库,这是一个连接Spring和MyBatis的桥梁,使得我们可以直接在Spring Bean中注入Mapper接口。 - **创建Mapper接口与XML文件** 创建一个Mapper接口,例如`UserMapper`,并在对应的XML文件中编写...
通过@Autowired注解,Spring可以自动为bean提供所需的依赖。此外,Spring还提供了AOP(面向切面编程)功能,允许我们在不修改原有代码的情况下添加横切关注点,如事务管理。 Hibernate是一个流行的Java持久化框架,...
5. **配置文件**:项目中的配置文件(可能在`config`目录下)包括Spring的bean配置文件(如`applicationContext.xml`)和Spring MVC的配置文件(如`servlet-context.xml`)。这些文件定义了Bean的实例化、依赖关系...
7. **@Autowired**:Spring的自动装配注解,用于注入依赖对象,简化了Bean之间的依赖管理。 8. **HandlerMapping**:处理器映射器,负责将请求URL与Controller方法对应起来。 9. **HandlerAdapter**:处理器适配器...
Spring-beans模块负责Bean的定义,类的实例化,以及依赖关系的处理;Spring-context模块提供了访问应用程序对象的上下文,它是一个配置文件,用于配置应用程序中的对象,它还集成了Spring AOP的功能;Spring-context...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
对于数据验证,Spring MVC支持JSR 303/349(Java Bean Validation)规范,允许在控制器层或者模型层定义验证规则。当用户提交表单时,Spring MVC会自动执行这些验证,如果数据无效,会返回错误信息。 DWR的集成: ...
十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 <mvc:annotation-driven /> 到底做了什么工作 二十、 本文中springMVC.xml配置文件是核心,这里给一个下载地址
2. 配置MessageSource Bean:在Spring MVC的配置文件(如springservlet-config.xml)中添加一个MessageSource Bean,这个Bean用来指定国际化资源文件的位置。在该Bean中,需要设置basename属性,其值为基本名称加上....
Spring MVC利用Spring的核心功能,如依赖注入(DI),允许在控制器中注入服务或其他组件,提升代码的灵活性和可测试性。 9. **单元测试**: Spring MVC提供`MockMvc`类用于对控制器进行单元测试,模拟HTTP请求并...
在这本教程中,读者将学习如何设置开发环境,创建Java EE项目,理解和使用Spring框架的核心特性,包括Bean管理、AOP、MVC等。同时,教程还会详细讲解如何集成Spring MVC进行Web开发,以及如何利用MyBatis处理数据库...
#### 二、MVC 设计模式的关键流程 在深入探讨 Spring MVC 之前,我们先简要回顾一下 MVC 设计模式的关键流程: 1. **收集页面输入参数**:Web 页面通过 HTML 表单收集用户的输入。 2. **调度逻辑处理**:控制器...
**Spring MVC IDEA版本DEMO详解** 在现代Java Web开发中,Spring MVC框架是不可或缺的一部分,它为构建可扩展、模块化的Web应用程序提供了强大的支持。IntelliJ IDEA作为一款高效的Java集成开发环境,使得开发...