micro-mvc与springmvc整合

本文介绍如何将Micro-MVC与SpringMVC框架整合,并通过具体示例展示了整合后的Controller接口编写方法及Groovy实现方式。此外还提供了配置扫描及测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Micro-mvc与springmvc整合,使用springmvc的controller机制。

整合后Springmvc的controller只编写接口,参数名称必须用@RequestParam注解。

使用@InjectGroovy在接口中声明对应的groovy实现名称。

其他与传统springmvc的controller无异。

package foo.web;

import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.nh.micro.service.InjectGroovy;

@Controller
@RequestMapping("test")
@InjectGroovy(name="TestController")
public interface TestController {
@RequestMapping("echo")
@ResponseBody
public  Map echo(@RequestParam(value="str") String str,HttpServletRequest httpRequest);

}

Controller的实现groovy

package groovy;

import javax.servlet.http.HttpServletRequest;
import com.nh.micro.service.InjectGroovy;
import foo.service.TestService;

class TestController  {  
	@InjectGroovy(name="TestService")
	public TestService testService;
	
	public Map echo(String str,HttpServletRequest httpRequest) {
		System.out.println("this is controller proxy");
		testService.test("111");
		Map retMap=new HashMap();
		retMap.put("status", "0");
		return retMap;
	}
}

配置包扫描

使用GroovyBeanScannerConfigurer代替context:component-scan对controller进行扫描。

	<bean class="com.nh.micro.service.GroovyBeanScannerConfigurer">
		<property name="scanPath" value="foo.web"></property>
	</bean>
<!-- <context:component-scan base-package="foo.web" /> -->

测试

http://localhost:8080/micro-springmvc-demo/test/echo?str=111

注意:springmvc3.1版本需要引用jackson-all-1.8.1.jar。

否则可能出现异常 Could not find acceptable representation 406 (Not Acceptable)

转载于:https://my.oschina.net/jeffreyning/blog/1607794

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值