资讯专栏INFORMATION COLUMN

tiny4j:一个轻量级的类似Spring的实现

JerryC / 1741人阅读

摘要:会点,做点,基本也就是全家桶,所以打算自己折腾一个,实现最基本最常用的一些功能。实际项目中使用或许还不太现实,不过也提供了一个去了解框架实现的一个简单的版本,也让大家有动力有思路自己去实现一个,源码请戳。

会点java,做点web,基本也就是spring全家桶,所以打算自己折腾一个,实现最基本最常用的一些功能。断断续续地终于完成了大部分自己想要的功能。实际项目中使用或许还不太现实,不过也提供了一个去了解框架实现的一个简单的版本,也让大家有动力有思路自己去实现一个,源码请戳github。

IOC

IOC很大程度借鉴了Spring,简单的使用

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("test.xml");
ServiceBean serviceBean=(ServiceBean)applicationContext.getBean("testService");
System.out.println(serviceBean);
serviceBean.service();

ServiceBean serviceBean2=(ServiceBean)applicationContext.getBean("serviceBean");
System.out.println(serviceBean2);
serviceBean2.service();

//全局的容器上下文
ApplicationContextHolder holder=applicationContext.getBean("applicationContextHolder", ApplicationContextHolder.class);
System.out.println("holder get bean : "+holder.getBean("serviceBean"));

IOC详细说明

rest

实现了许多SpringMvc里高频使用的功能和一些针对restful改进的功能

@Api("/base")
public class TestController extends BaseController {

    @Value("${user.name:test}")
    private String name;

    @Inject
    private UserService userService;

    @RequestMapping
    public String index() {
        userService.query();
        return name;
    }

    @RequestMapping(mapUrl = "/test/{id}", method = HttpMethod.GET)
    @CROS(origins = "www.baidu.com", methods = {HttpMethod.GET}, maxAge = "3600")
    public String patgTest(@PathVariable("id") String id) {
        return id;
    }

    @RequestMapping(mapUrl = "/test", method = HttpMethod.GET)
    @InterceptorSelect(include = {"aInterceptor"}, exclude = {"bInterceptor"})
    public String interceptorTest() {
        return "haha";
    }


    @RequestMapping(mapUrl = "/index")
    @CROS
    public String paramTest(@RequestParam("id") long id, @RequestParam("name") String name) {
        return name + "---" + id;
    }

    @RequestMapping(mapUrl = "/user/{id}", method = HttpMethod.PUT)
    @CROS
    public User insert(@PathVariable("id") long id, @RequestBody User user) {
        return user;
    }
}

看着是不是很熟悉-_- rest详细说明

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66324.html

相关文章

  • 分布式微服务架构选项

    摘要:分布式架构五大核心套件服务发现云端服务发现,一个基于的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 1 后端技术框架我们选择Spring Cloud作为微服务的分布式架构:Spring Cloud vs Dubbo? 背景 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。Spring Cloud,是Spring Source的产物...

    Rocture 评论0 收藏0
  • 分布式微服务架构选项

    摘要:分布式架构五大核心套件服务发现云端服务发现,一个基于的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 1 后端技术框架我们选择Spring Cloud作为微服务的分布式架构:Spring Cloud vs Dubbo? 背景 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。Spring Cloud,是Spring Source的产物...

    Labradors 评论0 收藏0
  • 状态机引擎选型

    摘要:状态机引擎选型概念有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。状态机的要素状态机可归纳为个要素,即现态条件动作次态。 状态机引擎选型 date: 2017-06-19 15:50:18 概念 有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应...

    caige 评论0 收藏0
  • 一个Spring Boot快44倍Java框架!

    摘要:最近栈长看到一个框架,官方号称可以比快倍,居然这么牛逼,有这么神奇吗今天带大家来认识一下。官网简介很简单,翻译过来就是一个快速轻量级和更高效的微服务框架。 最近栈长看到一个框架,官方号称可以比 Spring Boot 快 44 倍,居然这么牛逼,有这么神奇吗?今天带大家来认识一下。 这个框架名叫:light-4j。 官网简介:A fast, lightweight and more p...

    amc 评论0 收藏0
  • 15个经典Spring面试常见问题

    摘要:我自己总结的学习的系统知识点以及面试问题,已经开源,目前已经。目前最新的版本中模块的组件已经被废弃掉,同时增加了用于异步响应式处理的组件。每一次请求都会产生一个新的,该仅在当前内有效。显而易见,这种模式存在很多问题。 我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经 41k+ Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star: https://githu...

    sarva 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<