`
sb33060418
  • 浏览: 150143 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc(二)注入spring bean

阅读更多
向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成功。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics