文档章节

micro-mvc与springmvc整合

杰睿宁
 杰睿宁
发布于 2018/01/16 13:33
字数 217
阅读 160
收藏 1

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)

© 著作权归作者所有

杰睿宁

杰睿宁

粉丝 9
博文 21
码字总数 15442
作品 10
东城
私信 提问
Spring中一般那些框架是常用的?

core Spring和Spring MVC应该是常用的,还有什么大家也会用到? Spring Boot算不算?Spring Boot是不是和微服务Micro-Service有关系?...

文心雕码
2016/09/02
553
1
NHMicro 1.1.8 已发布,该版本支持与 springmvc 整合

NHMicro 1.1.8 已发布,该版本支持与 springmvc 整合。 整合后 Springmvc 的 controller 只需编写接口,在接口中配置 springmvc 相关注解,业务实现在 groovy中编写,支持热部署。 springmv...

杰睿宁
2018/01/16
787
0
Spring、SpringMVC、SpringBoot、SpringCloud的区别与联系

前言 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。 Spring MVC是Spring的一个模块,一个web框架。通过Dispa...

Java架构师追风
09/30
0
0
spring boot与spring mvc的区别是什么?

spring boot与spring mvc的区别是什么? 转载:https://blog.csdn.net/u014590757/article/details/79602309 spring boot只是一个配置工具,整合工具,辅助工具. springmvc是框架,项目中实际运...

Elsa晓冰
2018/09/29
0
0
脚本化微服务开源框架 - NHMicro

MVC 框架的缺点: 系统按照Controller、Service、Dao层次划分,虽然在建设初期技术结构清晰。但每个业务逻辑代码都分散到不同代码框,业务结构不直观,不利于后期业务重构。 业务代码与MVC技...

杰睿宁
2017/06/23
3K
5

没有更多内容

加载失败,请刷新页面

加载更多

云栖干货回顾 | 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存...

大涛学弟
15分钟前
4
0
TL138/1808/6748-EasyEVM开发板硬件CPU、FLASH、RAM

TL138/1808/6748-EasyEVM是广州创龙基于SOM-TL138/SOM-TL1808/SOM-TL6748核心板开发的一款开发板。由于SOM-TL138/SOM-TL1808/SOM-TL6748核心板管脚兼容,所以此三个核心板共用同一个底板。开...

Tronlong创龙
19分钟前
3
0
开普勒平台开源版

https://github.com/kplcloud/kplcloud

perofu
22分钟前
4
0
昨天,这项阿里技术再获世界级科技大奖!

第六届世界互联网大会来了!千年水乡古镇乌镇又一次吸引了全世界的目光。 昨天,阿里云自研数据库POLARDB 在会上当选世界互联网领先科技成果。POLARDB解决了企业在云时代的数据库难题,帮助企...

阿里云官方博客
23分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部