皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Mars 3.0.11 正式发布

更新如下

1. 去除了配置文件,采用类配置

更加简单易懂,且由于类会在编译时检查语法,所以不易出错

2. MarsApi 向下兼容

也就是说以后除了DAP,还支持传统的Controller写法

3. MarsApi注解新增属性

可以统一配置需要的bean,避免每个方法上都要通过MarsReference注解来指定引用的bean

类配置方法

新建一个任意java类,继承MarsConfig类

public class DemoConfig extends MarsConfig {

    // 数据源,必配,用的是阿里巴巴的 druid数据源,其他属性可自行查阅
    @Override
    public List jdbcProperties() {
        List list = new ArrayList();

        Properties properties = new Properties();
        properties.put("name","dataSource");
        properties.put("url","jdbc:mysql://10.211.55.15:3306/mars?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
        properties.put("username","root");
        properties.put("password","Root123456!");
        properties.put("driverClassName","com.mysql.jdbc.Driver");

        list.add(properties);

        // 如果要多个数据源,add多个到list即可
        return list;
    }

/* ******** 以下内容,如果不需要或者用默认值,则可以不重写 ******** */

    // 端口号,默认8080
    @Override
    public int port() {
        return super.port();
    }

    // jwt失效时间,默认一天
    @Override
    public int jwtTime() {
        return super.jwtTime();
    }

    // 文件上传大小限制,默认单个文件2M,一次最多传10M
    @Override
    public FileUploadConfig fileUploadConfig() {
        return super.fileUploadConfig();
    }

    // 跨域配置,默认可以跨域
    @Override
    public CrossDomainConfig crossDomainConfig() {
        return super.crossDomainConfig();
    }

    // redis连接池,如果项目不需要连redis,可以不重写
    @Override
    public JedisConfig jedisConfig() {
        return super.jedisConfig();
    }

    // 自定义配置,如果不需要,可以不重写
    @Override
    public Map marsValues() {
        Map map = new HashMap();
        map.put("aaa.ggg.ccc","123");
        map.put("aaa.jjj","456");
        map.put("lll","789");
        map.put("aaa.bbb.ccc","098");
        map.put("aaa.ccc","765");
        map.put("ggg","432");
        return map;
    }
}

MarsApi向下兼容

@MarsApi
public class DemoController {

    @MarsWrite("userInfoServiceImpl")
    private UserInfoService userInfoService;

    public String demo(UserInfoDTO userInfoDTO, HttpMarsRequest request){
        return "";
    }
}

MarsApi注解新增属性refBean(仅限于DAP场景)

/**
 * 声明式接口,暴露给前端
 * 具体的业务逻辑,在这个interface的实现类里面
 */
@MarsApi(refBean="要引用的bean的name")
public interface UserInfoService {

    /**
     * 引用具体业务逻辑,与Service彻底散藕
     *
     * 这个思路其实跟Dubbo接口差不多
     *
     * @param userInfoDTO
     * @return
     */
    @MarsReference(beanName = "要引用的bean的name(MarsApi注解如果配了refBean,这个就不需要了)",refName = "引用的bean里面的方法名称,不配默认为这个方法名")
    String login(UserInfoDTO userInfoDTO);
}

官网地址:http://mars-framework.com/

转自 https://www.oschina.net/news/113334/mars-3-0-11-released