Spring 扩展 spring-nc

GPL
Java 查看源码»
跨平台
2017-07-17
xiwa

spring-nc=spring no controller,一个不需要controller类的spring扩展,只需在对应的service接口上应用controller相关注解,便能提供如同controller一样直接访问对应接口实现类的service方法。

此扩展还同时兼容原有的controller写法,使用简单对service无侵入。

 使用步骤如下:

1.先定义service接口类:

package cn.hn.java.summer.springnctest.service;

import cn.hn.java.summer.springnc.annotation.RequestMapping;
import cn.hn.java.summer.springnc.annotation.RestController;

@RestController
@RequestMapping("/")
public interface IHello {

    @RequestMapping("/say")
    String say(String name);
}

注意:这里的RestController、RequestMapping注解用的是spring-nc包下的注解,需要用spring-nc包中代替spring原有的注解有:@Controller、@RestController、@RequestMapping、@PutMapping、@PostMapping、@PatchMapping、@GetMapping和@DeleteMapping,其它注解都是用原有的。

2.编写实现接口的service类:

package cn.hn.java.summer.springnctest.service;

import org.springframework.stereotype.Service;

@Service
public class HelloService implements IHello {

    public String say(String name) {
        return "hello "+name;
    }
}

3.启动程序时增加spring-nc调用:

package cn.hn.java.summer.springnctest;

import cn.hn.java.summer.springnc.AutoControllerApplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages = "cn.hn.java.summer.springnctest.service")
public class Application {

    public static void main(String[] args) {
        AutoControllerApplication.run(Application.class); //最前面添加spring-nc调用
        SpringApplication.run(Application.class, args);
    }
}

4.启动程序访问 localhost:8080/say?name=world

输出:hello world

很简单简捷有没有?再也不用去写一遍controller了~~~

加载中

评论(19)

K
KaiYuan_ZJ
煞笔
hzmahao
hzmahao
很感谢开发者的创意,这个假设在某些具体的及其简单的数据调用,完全无业务逻辑的倒是可以试试哈。
壹贰叁
壹贰叁
脱了裤子放屁可能就是这样吧,不过能弄出来还是不错的,开心就好
haoran_10
haoran_10
不错,有想法
MGL_TECH
MGL_TECH
呵呵,,,,,,,,,,,,赶紧删了吧,先搞清楚为什么要分三层 ,,,你这是越来越回归原始开放状态,直接JDBC一个类不得了 !!!!!!!!!
丶璀璨星辰2
丶璀璨星辰2
感觉不实用,我直接在service实现类上面打controller注解也行,干嘛要在接口上面打,而且分三层不是一定的,你要是自己开心,一层dao也行
一别丶经年
一别丶经年
反过来看,你这没啥意义啊,如果不要service,只留controller是不是跟你这个实现了相同效果?
小白小霸王
小白小霸王
是啊 感觉不实用啊
开源中国刘德华
开源中国刘德华
有什么意义呢?
随手关门
随手关门
给我的第一感觉就是在service类打上controller注解

暂无资讯

暂无问答

grails3.x 多数据源配置 及获取

grails3.x 多数据源配置 controller service 获取数据源

2015/07/25 17:36
55
0
Spring容器启动后注入service到Servlet并自动执行

通常做法是定义一个Servlet,并在web.xml中配置Servlet的启动顺序的值在DispatcherServlet之后。但这样做的缺点是在Servlet中无法使用Spring的依赖注入功能,只能使用WebApplicationContext...

2014/10/18 18:00
4.7K
1
Spring Boot实战之基础回顾

本文作者: 吴伟祥 本文链接: https://wuweixiang.cn/2018/08/21/Spring-Boot实战之基础回顾/ 版权声明: 本博客所有文章除特别声明外均为原创,采用CC BY-NC-SA 4.0 许可协议。转载请在文章开...

08/21 21:04
30
0
Zookeeper系列一:Zookeeper基础命令操作

有些事不是努力就可以改变的,五十块的人民币设计的再好看,也没有一百块的招人喜欢。

06/03 17:43
108
0
杂记

idea回撤过度使用:ctrl+shift+z 提取变量为成员属性:ctrl+alt+f 提取变量为方法参数:ctrl+alt+p Ctrl+Shift+Alt+N,查找类中的方法或变量 使用工具类Arrays.asList()把数组转换成集合时,...

03/22 17:28
17
1
Spring——jar包详解

org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spring 2.5.6的时候需要asm jar包,spring3.0开始提供它自己独立的asm jar...

2014/09/11 16:43
67
0
spring

<转载> Spring 2.5 jar 所有开发包及完整文档及项目开发实例 spring jar 包详解spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar...

2009/11/27 21:59
616
0
spring 每个jar的作用

spring .jar 是包含有完整发布的单个jar包,spring .jar中包含除了 spring -mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring -mock.jar来进行辅助测试,正...

2014/12/05 09:47
42
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部