内容简介:Martian4.0 是啥 Martian4.0 是一个 最新的主线版本,内部架构产生了巨大的变化,之前的版本 里面大部分功能都是Martian自带的,属于一个高度内聚的项目。而从4.0开始 不再以这种方式进行开发了。 而是基于Magic...
Martian4.0 是啥
Martian4.0 是一个 最新的主线版本,内部架构产生了巨大的变化,之前的版本 里面大部分功能都是Martian自带的,属于一个高度内聚的项目。而从4.0开始 不再以这种方式进行开发了。
而是基于Magician开发,定位成一个Magician项目的超集,整合了Magician的大部分组件,并进行了少量的二次封装,使其可以快捷的构建后端服务。
4.x 将会跟 3.x 并行维护,一直到3.x的用户都转到4.x 为止。
4.0 带来了哪些变化
一、AOP与IOC没了
为什么会这样的呢? 因为Magician没有这两个特性,所以Martian自然也不会有了,加是可以加的,但是考虑到几个问题所以暂时不打算支持。
首先,IOC 和 new的区别 在于,IOC的对象是框架创建的,所以这个对象上可以被框架绑定很多功能,AOP就是其中一项,但是在实际开发中,IOC的作用体现的不是很明显,甚至很多场景都不需要IOC,尤其是注解式开发流行以后,IOC的优势就大大下滑了。
AOP,一般用的最多的就是 做声明式事务,其他场景很少用,而Magician 有类似的组件可以实现声明式事务,所以AOP 也不是特别的刚需了,如果真的需要可以自己用动态代理实现。
二、不再内置Jedis
Jedis是 redis 的 Java 客户端,其本身已经封装的够强了,个人认为没必要再套个壳子了。比如,想要连接操作redis,只需要这样。
JedisPool jedisPool = new JedisPool(连接池, url,
端口, 超时时间,
用户名, 密码,
库索引, 是否ssl);
Jedis jedis = jedisPool.getResource();
这个代码量 跟之前Martian封装过相比,相差并不大(连配置的代码也一起算上)。而且还不用专门学习怎么在Martian中连接redis,只需要直接用原生Jedis即可。
如果未来Magician 出了封装Jedis的模块,那么到时候会集成进来。
三、Controller支持路由配置
之前都是直接请求方法名的,现在由于是基于Magician开发的,所以Controller也支持路由自定义了,但是声明式API没了,不再支持。
@Route("/demoController")
public class DemoController {
@Route(value = "/demo", requestMethod = ReqMethod.POST)
public DemoVO demo(DemoVO demoVO){
return demoVO;
}
}
四、定时任务没了
因为没了IOC所以 与其绑定的功能 自然也都没了。不过自己写也不难,JDK自带了定时任务的api。
// 2000毫秒执行一次
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, 2000);// 设定指定的时间time,此处为2000毫秒
后面会开发定时任务相关的组建,来弥补这个缺失。
五、暂时与Martian-cloud,Martian-gateway不兼容
考虑到项目规模太小,不太可能有人在用Martian开发微服务,所以这两个组件暂时不考虑兼容,后面再进行迭代
3.x 以后还会继续维护吗
当然会继续维护,不过 基本会以修bug为主,不再提供新功能了。一直维护到所有用户都转到了4.x为止。
而且大家也不用担心,4.x 不会简简单单的基于Magician的,后面会持续迭代,出更多功能的。其使用的便捷程度不会低于3.x,甚至会高于3.x。
而且Magician一旦出了新组建,将会被快速集成到Martian的。
Magician是啥
可以看这个官网了解一下哦:http://magician-io.com
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ONT 链网架构尚未成型|标准共识评级调整
- 阿里宣布大规模组织架构与人事调整
- OmiseGO 的 plasma 架构和交易模块实现度低|标准共识评级调整
- 中台之上(八):企业级业务架构的实现需要不断的沟通和调整
- 调整PG分多次调整和一次到位的迁移差别分析
- skynet 模块命名空间调整
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。